目录
扫描二维码关注公众号,回复:
17287697 查看本文章
问题背景:
sed简介:(system editor,流文本编辑器)
sed是非交互式编辑器,默认不会修改文件,会输出打印到屏幕或文件逐行处理;
所以主要用sed指令来处理行数据,列数据可以使用awk。
#删除文件中所有数据
sed -i 'd' file
选项说明:
-i:修改模式,直接修改文件内容;
注意:Orcale Solaris系统不支持-i选项,不过也可以直接修改文件。
解决方法:
1.sed删除文件中的最后一行数据
#删除最后一行
sed -i '$d' file
2.sed删除文件中所有空行
#删除所有空行
sed -i '/^$/d' file
3.sed删除文件中第1行
#删除第一行
sed -i '1d' file
4.sed删除文件中第1-10行
#删除第1-10行
sed -i '1,10d' file
5.sed删除文件中第1,3,6行
#删除第1,3,6行
sed -i '1d;3d;6d' file
6.sed删除文件中包含关键字id的行
#删除包含关键字id的行
sed -i '/id/d' file
7.sed删除文件中不包含关键字id的行
#删除不包含关键字id的行
sed -i '/id/!d' file
8.sed删除文件中包含以name开头的行
#删除以name开头的行
sed -i '/^name/d' file