如何删除文件(主机)中包含“adf.ly”字符串的行?
答案1
使用sed
运行此命令:
sed -i '/adf\.ly/d' inputfile
man sed
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied)
使用 grep
感谢@kos 的注释:
grep -v "ad\.fly" inputFile > outputfile
答案2
下面将删除包含“adf.ly”的行filename.txt
:
sed -i '/adf\.ly/d' filename.txt
删除行之前,请使用上述命令-i
进行测试。
答案3
使用awk
(感谢 terdon 提供的缩短版本):
< inputfile awk '!/adf\.ly/' > outputfile
< inputfile
inputfile
:将的内容重定向到awk
的stdin
> outputfile
awk
:将 的内容重定向stdout
到outputfile
awk
命令分解:
!/adf\.ly/
adf\.ly
:如果不匹配正则表达式,则打印记录
使用 Perl(感谢 terdon 提供的简化版本):
< inputfile perl -ne '/adf\.ly/||print' > outputfile
-n
:while (<>) {[...]}
在脚本周围放置一个循环-e
:从参数中读取脚本
Perl 命令分解:
/
:开始模式adf\.ly
:匹配adf\.ly
字符串/
停止模式||
:仅当模式与行不匹配时才执行以下命令print
:打印该行
答案4
您可以使用标准文本编辑器,ed
:
printf '%s\n' 'g/adf\.ly/d' w q | ed file.txt