linux:sed和awk

sed的主要作用是可以将数据进行替换,删除,新增,选取等操作。

1.首先sed的几个用法:

sed -n:安静模式,因为是数据先stdin流进来以后再通过sed处理,不用-n,会把数据都显示在屏幕上,用-n的话,只会列出来被sed处理过的数据.

sed -f:直接把处理的结果写在文件里面,而不输出到显示屏上.;sed -f filename

sed -i:直接修改读取的文件内容,不输出到显示屏上。

sed 'n1,n2[action]'比如sed -n '10,20p':只输出10-20行的内容.sed '10,20d'删除掉10-20行的内容。“$”表示最后一行。sed '2a xxxx'在第二行后面加上内容xxxx,sed '2i xxxx'

在第二行前面加上东西.但是如果要加多行内容,需要用“\”来分割,比如sed '2a xxxxxx\yyyyyyy'

总之:P代表列出,d代表删除,a代表第几行后面,i第几行前面,c替换几行之间的数据.如sed '2,5c hello'

2.替换字符串:

1.sed 's/要替换的字符串/新的字符串/g'

 

awk的主要作用是对每个行分段处理,他的用法是awk '{action}',要有中括号才行。

 

42人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册