自动从大量文档中删除某些相同的文本行

时间:2014-09-15 16:53:53

标签: text document

我有大约2000个.PHP文档,每个文档都包含不需要的文本。不需要的文本在每个文档中是相同的,并且出现在相同的行上。我想知道是否可以自动从每个文本文档中删除这些行?而不必从每个文件中手动删除它们。

我搜索OS X的'Automator工作流程',这里没有运气。我也没有找到AppleScript解决方案。老实说,我不是很精通技术,我只知道标记语言..所以如果你能够回答,请记住这一点。

非常感谢你的时间, 蒂布斯

1 个答案:

答案 0 :(得分:0)

您可以使用find + perl执行此操作,例如(没有测试它,所以请先测试它):

find /where/your/files/are -name '*.php' -print0 | xargs -0 perl -pi.bak -e 's/the-line-you-dont-want//g'

参见" man perlrun"对于" -p"选项。请注意,您可以在" //"之间添加替换文本。 xargs和print0允许您处理将出现的长命令行2000文件。 " .bak"使用" .bak"备份所有内容添加到最后,这可能是也可能不是有利的。我是偏执狂,所以我可能只将PHP文件复制到第二和第三目录,然后使用find / the / 2nd / one运行命令...(没有" .bak& #34;部分),然后使用递归diff来查看所有编辑(diff -r / / 3rd / one / the / 2nd / one)。如果开心,那么在/ where / your / files /是

上运行它

如果文本跨越多行,它仍然可以通过添加" s"一次完成。到" g" s /命令的选项。在修饰符下,文档位于" man perlre"中。