使用sed删除两个部分之间的文本或者段落

时间:2020-01-09 10:43:35  来源:igfitidea点击:

如何使用sed命令选择性删除某些行?
我在文件中输入以下内容:

Line 2
WORD1
Line3
Line 4
WORD2
Line5

如何删除WORD1和WORD2之间的所有行以产生最终输出:

Line 1
Line 2
Line5

对于选择性删除某些行,sed是最好的工具。
要在WORD1和WORD2(2个正则表达式)之间打印EXCEPT部分的所有文件,请使用

$ sed '/WORD1/,/WORD2/d' input.txt > output.txt

Shell脚本删除Javascript代码

这是我的小脚本,它读取所有* .html文件并删除javascript(脚本下载链接)。

#!/bin/bash
# ALL HTML FILES
FILES="*.html"
# for loop read each file
for f in $FILES
do
INF="$f"
OUTF="$f.out.tmp"
# replace javascript
sed '/<script type="text\/javascript"/,/<\/script>/d' $INF > $OUTF
/bin/cp $OUTF $INF
/bin/rm -f $OUTF
done

上面的shell脚本删除了所有出现的javascript。