sed是AIX中非常重要的文本流编辑器,它对输入的文本进行查询/打印/替换/删除等操作,并将结果写到标准输出。sed 命令包含很多功能,用于选择要修改的行,并只对选择的行作更改。
首先,使用sed命令请记住:sed命令以行为单位对文本进行处理,处理完当前行,接着下一行文本输入进行处理,依次循环。
其次,使用sed命令请记住:sed命令不会对原文件进行操作,它是对原文件的拷贝文件进行操作。
打印指定行
1)打印首行
sed -n ‘1p’ test.txt##如果想把结果输出到文件,则这样:sed -n ‘1p’ test.txt > result.txt,以下同理。
2)打印最后一行
sed -n ‘$p’ test.txt #$代表最后一行3)打印第一行到第五行
sed -n ‘1,5p’ test.txt打印满足条件的筛选行
1)打印存在“hello”这个单词的行
sed -n ‘/hello/p’ test.txt2)打印满足正则表达式:出现以ing结尾单词的行
sed -n ‘/.*ing/p’ test.txt替换字符串并重新生成文件
1)将文本中存在的单词“hello”替换成“world”
sed ‘s/hello/world/g’ test.txt##注意,aix系统中sed命令不支持-i参数,直接使用上面的命令就可以进行替换,如果要输出生成新文件,则sed ‘s/hello/world/g’ test.txt > newfile.txt就可以了。
如果不想用sed命令,其他命令也是可以实现的,比如:perl -p -i -e “s/hello/world/g” test.txt,同样也可以实现字符串的替换,不过perl命令会直接修改原文件,请谨记。
2)如果要批量替换路径下所有文件
例如:替换/home下所有文件中的字符串“hello”为“world”
sed “s/hello/world/g” `grep hello -rl /home`注意,此命令会直接修改原文件。
标签:AIX,实例,打印,sed,test,world,txt,hello From: https://www.cnblogs.com/ricehome/p/17305936.html