【发布时间】:2016-05-01 18:42:49
【问题描述】:
我想删除 3000 个文本文件中的每一行。
我曾尝试使用 Notepad Plus,但它会为每个匹配行创建一个空白行。
示例文件内容:
SAMPLE TXT FILE
---------------------
phone number
address
IAM A DEFAULT
city
state
pincode
----------------
这里IAM A DEFAULT 出现在所有 3000 个文件中,并且只出现一次
【问题讨论】:
-
Perl,要删除的行总是相同的字符串。例如,我必须删除所有 3000 个文件中包含字符串“iam new to perl”的所有行
-
然后:
perl -n -i.before -e 'print unless /iam new to perl/;' *.txt。这将打印所有不包含“iam new to perl”的行,就地编辑文件(-i)并将旧文件保存为*.before(-i.before)。 -
@krthk:请不要在回复时使用缩写的用户名:它会绕过 Stack Overflow 的通知系统。如果您使用的是 PC 系统,那么您可以点击
@符号并开始输入您要回复的用户的姓名;点击选项卡将自动完成。像这样正确地将用户名添加到评论中会提醒他们作为收件箱中的增量。请尝试一下。遗憾的是,这在平板电脑和手机应用程序上不起作用,如果你想回复用户名中包含 Unicode 字符的人,除非你有一个花哨的键盘,否则你会被塞满 -
@Borodin 请不要这么苛刻。这是一个初学者,他不知道更好,Q也不错。经过一番审问,他告诉了要跳过哪些行。我认为他并不关心/确切地知道这些行是否有添加空格。
-
@PerlDog:我不是在争论;听到我的话被认为是严厉的,我很难过。谢谢你的夸奖——我会继续努力的