【发布时间】:2013-03-20 01:30:11
【问题描述】:
我需要从目录中的大量文本文件列表中删除其中包含某些关键字的所有行。
例如,我需要删除所有包含 any 这些关键字的行:test1、example4、coding9
这是我能找到的最接近我尝试做的例子:
sed '/Unix\|Linux/d' *.txt
注意:这些行不需要包含所有要删除的关键字,只需删除一个即可:)
【问题讨论】:
-
质量非常低:您尝试过什么?你的代码在哪里?
-
在命令行上?我可以编写一个非常简单的 Perl 脚本来解决问题。 :-/
-
Perl 对我来说听起来不错,我发现这样做的唯一方法是使用 Notepad++ 为所有行添加书签,但由于这涵盖了数千个文件中的数百万行,这只是花费了太长时间做。
-
这实际上看起来几乎完美:
sed '/test1\|whois\|test2\|test3\|test4\|test5/d' *.txt但它只是输出终端中的所有行。需要更改哪些文件才能实际编辑文件以删除这些行?
标签: command-line command