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}',要有中括号才行。