我想删除每个3000文本文件中的特定行。
我尝试过使用Notepad Plus,但会为每个匹配行创建一个空白行。
SAMPLE TXT FILE
---------------------
phone number
address
IAM A DEFAULT
city
state
pincode
----------------
此处IAM A DEFAULT
出现在所有3000个文件中,并且只出现一次
答案 0 :(得分:3)
您没有谈到识别要处理的文件,但我们假设您要从当前目录中的所有IAM A DEFAULT
文件中删除所有*.txt
行
这个Perl单行命令会为你做这个。它还会将abc.txt
等每个原始文件保存为abc.txt.bak
perl -i.bak -lne 'print unless $_ eq "IAM A DEFAULT"' *.txt
我希望有帮助
答案 1 :(得分:2)
使用GNU sed和GNU bash 4:
shopt -s globstar nullglob
sed -i '/^IAM A DEFAULT/d' **/*.txt