【shell脚本实战案例】sed删除文本中指定的某行数据

目录

问题背景:

解决方法:

1.sed删除文件中的最后一行数据

2.sed删除文件中所有空行

3.sed删除文件中第1行

4.sed删除文件中第1-10行

5.sed删除文件中第1,3,6行

6.sed删除文件中包含关键字id的行

7.sed删除文件中包含关键字id的行 

8.sed删除文件中包含以name开头的行

扫描二维码关注公众号,回复: 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

猜你喜欢

转载自blog.csdn.net/qq_35902025/article/details/135046941