Sed\Awk的一些用法
Sed\Awk的一些用法
Sed\Awk的一些用法
sed 非交互式流编辑器 www.2cto.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}' #取得内存大小
评论暂时关闭