首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一些文本文件的顶部删除文件名

如何从一些文本文件的顶部删除文件名
EN

Stack Overflow用户
提问于 2013-02-15 23:07:49
回答 1查看 98关注 0票数 0

我正在尝试使用Mac OSX中的fdupes从目录中删除重复的文本文件。它已经删除了一堆重复的内容。

我现在遇到的问题是,在剩下的文件中,有许多是重复的,除了在其中一个文件中,文件名是第一行,后面跟着一个空行,然后是文本。

所以,我想找出文件名在顶部重复的所有文件,然后去掉这行和下面的空行,这样fdupes就会把它们识别为重复的。这将允许我使用fdupes来解析它们。

示例:

file001.txt:

代码语言:javascript
复制
test 123
test

file002.001.txt:

代码语言:javascript
复制
file002.001.txt

test 123
test

做这件事最好的方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-15 23:29:06

也许是这样的

代码语言:javascript
复制
perl -0777 -pi -e 's#\Q$ARGV\E$/{2}##' *.txt

$ARGV包含文件名。$/是您的输入记录分隔符--您可能需要使用\n或任何行尾。由于$/包含一个斜杠,因此我们将s///的分隔符更改为其他分隔符,在本例中为#\Q ... \E转义是为了让文件名中的某些元字符不会搞砸任何东西。

-0777开关使perl一次读取整个文件,这样我们就可以在一个正则表达式中匹配多行。

-i开关将进行在位编辑。您可以添加后缀来保留备份,但当用于许多文件时,这可能并不实用。但是,我建议您不要使用-i开关,直到您确定一切都如您所愿,并且只打印到标准输出。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14897537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档