linux中的三剑客:grep
、sed
、awk
grep
更适合单纯的查找 或匹配文本sed
更适合编辑匹配到的文本awk
更适合格式化,对文本进行较复杂格式处理
sed
(stream editor) is a non-interactive command-line text editor.
sed
(流编辑器)是一个非交互式命令行文本编辑器。
参考官网:http://www.gnu.org/software/sed/
首行加一行
admin,admin
user,user
services,services
sed -i '1 i\"啊,呀"' b.csv
"啊,呀"
admin,admin
user,user
services,services
末尾加一行
sed -i '$a\要插入的文字' file_name
删除 文件的某一行:如删除的是第6行的内容
sed -i ‘6d’ file.txt
删除文档的第一行:sed -i ‘1d’ file.txt
删除文档的最后一行:sed -i ‘$d’ file.txt
删除文件中包含某个关键字开头的所有行,例如 删除wyz开头的的所有行:
sed -i ‘/^wyz/d’ file.txt
删除文件中包含某个关键字的所有行,例如 删除包含wyz的所有行
sed -i ‘/wyz/d’ file.txt
增加文件的某一行
在文档指定行中增加一行,例如文档如下:
print “1”;
print “2”;
print “4”;
print “5”;
想要在print “2”;
后面加上一条print “3”;
可以用如下命令
sed -i ‘/print “2”;/aprint “3”;’ file.txt
之所以用分号 ;
,是因为文本中本来就有。也就是说分号不是必须的!
抽象出来就是:
sed -i ‘/* /a*’ file.txt