在所有 3000 个文件中删除以特定字符串开头的行
Delete a line starting with particular String in all 3000 files
我想删除 3000 个文本文件中的每一行。
我试过使用 Notepad Plus,但它会为每个匹配行创建一个空白行。
示例文件内容:
SAMPLE TXT FILE
---------------------
phone number
address
IAM A DEFAULT
city
state
pincode
----------------
这里 IAM A DEFAULT
出现在所有 3000 个文件中,并且只出现一次
您没有谈论识别要处理的文件,但假设您要从当前目录
中的所有 *.txt
个文件中删除所有 IAM A DEFAULT
行
这条 Perl 单行命令将为您完成这项工作。它还会将每个原始文件如 abc.txt
保存为 abc.txt.bak
perl -i.bak -lne 'print unless $_ eq "IAM A DEFAULT"' *.txt
希望对你有所帮助
使用 GNU sed 和 GNU bash 4:
shopt -s globstar nullglob
sed -i '/^IAM A DEFAULT/d' **/*.txt
我想删除 3000 个文本文件中的每一行。
我试过使用 Notepad Plus,但它会为每个匹配行创建一个空白行。
示例文件内容:
SAMPLE TXT FILE
---------------------
phone number
address
IAM A DEFAULT
city
state
pincode
----------------
这里 IAM A DEFAULT
出现在所有 3000 个文件中,并且只出现一次
您没有谈论识别要处理的文件,但假设您要从当前目录
中的所有*.txt
个文件中删除所有 IAM A DEFAULT
行
这条 Perl 单行命令将为您完成这项工作。它还会将每个原始文件如 abc.txt
保存为 abc.txt.bak
perl -i.bak -lne 'print unless $_ eq "IAM A DEFAULT"' *.txt
希望对你有所帮助
使用 GNU sed 和 GNU bash 4:
shopt -s globstar nullglob
sed -i '/^IAM A DEFAULT/d' **/*.txt