sed 删除多行

1、可以使用sed命令的d(delete)命令和行号来删除多行,例如要删除第5-10行,可以使用以下命令:

sed '5,10d' filename

其中的5和10表示要删除的行号的范围,d表示删除的命令,filename表示要操作的文件名

2、可以使用以下命令使用正则表达式去匹配模式来删除多行:

sed '/pattern/,+N d'

其中,pattern 是要匹配的正则表达式,N 是要删除的行数。这条命令会删除从包含 pattern 的行开始的 N 行。
例如,要删除从包含 “hello” 的行开始的两行,可以使用以下命令:

sed '/hello/,+2 d'

这将删除从包含 “hello” 的行开始的两行

3、使用sed命令打开文本文件,并使用正则表达式匹配需要删除的多行。例如,以下命令将打开文件test.txt,并匹配以“start”开始,以“end”结尾的多行:

sed -i '/start/,/end/d' test.txt

4、sed删除匹配行的上一行

sed -i -n '$!N;/匹配内容/!P;D' 待处理文件

猜你喜欢

转载自blog.csdn.net/weixin_44618297/article/details/131127751
sed