知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Sed/Awk的一些用法

发布时间:2014-09-05 15:41:19作者:知识屋


Sed/Awk的一些用法
 
sed 非交互式流编辑器   www.zhishiwu.com  
sed '1,4d' myfile   #删除1到4行数据 
sed '/La/d' myfile   #删除含有La的数据行 //代表搜索 
sed '/[0-9]/{3/}/d'    #myfile 把含有3位数的行删除,剩下的显示 
sed '/^$/d' myfile    #删除myfile的空白行,^表开头,$表尾部 
sed '/La/!d' myfile    #把不含La的数据行删除 
sed  -n 'La/p' myfie     #把含有La的数据行显示出来,-n只显示符合样式数据行 
sed -n 's/La/Oo/gp' myfile    #全部把La替换成Oo,并显示 
sed -n 's/La//p' myfile     #把每一行第一个出现的La删除 
sed 's/^...//' myfile      #把每一行开头的3个字符删除 
sed 's/...$//' myfile      #把每一行末尾3个字符删除 
sed -n 's//(La/)//1Oo/p' myfile      #把找到的La存起来,用/1取回来再使用 
sed -n '/AAA/s/234/567/p' myfile     #找到含AAA的那行,将234换成567 
sed -n '/AAA/,/DDD/s/B/567/p' myfile     #将含有AAA到含有DDD的那几行,将其中的B换成567 
sed -n '2,4s/B/567/p' myfile       #从第2行到第4行,都将其中的B换成567 
 
awk  文本切割工具
ps auxw |awk '{print $2}'         #获取系统当前pid列表 
awk '/La/' myfile      #显示含La的数据行 
awk '{print $1,$2}' myfile      #显示myfile每一行的第1和第2个字段 
awk '/La/{print $1,$2}'       #将含有La关键词的第1和第2个字段显示 
awk -F: '/^user1/{print $3,$4}' /etc/passwd       #使用选项-F,指定:为分隔符打印帐号user1的uid、gid 
awk -F: 'BEGIN{OFS="+++"}'/^user1/{ print $1,$2,$3,$4,$5 }' /etc/passwd       #以:为分隔符,+++为输出字段分隔符,将user1的第1~5
 
栏显示
 
ifconfig |grep 'inet addr:' | grep Bcast |awk '{print $2}' |awk -F: '{print $2}'      #取得网卡的IP 
cat /proc/net/dev |awk -F: '/eth.:|ppp.:|wlan.:/{print $1}'        #取得网络设备名称 
cat /proc/meminfo |awk '/MemTotal/{print $2}'        #取得内存大小
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜