正则表达式 - 如何在搜索文件时防止或解决文件之间的干扰?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式 - 如何在搜索文件时防止或解决文件之间的干扰?相关的知识,希望对你有一定的参考价值。

所以,我正在使用正则表达式来搜索语料库中的一堆文件。重点是找到报纸文章的标题。

这是我使用的:

cat *.txt | grep -P '(^[A-ZÖÄÜÕŠŽ].*[^.]$)' --colour 

它找到以大写字母开头的行,后跟任何字符,但不以点结尾,适用于这些特定文件。

问题是两个文件互相干扰,一个文件最末端的点出现在另一个文件的开头,我得到了这个:

卡塔尔的所有门徒都证实,加入笑俱乐部后,他们的生活得到了显着改善。

有没有办法防止干扰而不实际修改文件或改变正则表达式的方法,以便排除开头的这个点?我必须说我是初学者,我试图找到解决方案,但没有一个是针对我的情况。

答案

这些文件最后可能没有换行符,因此第一个文件的最后一行与第二个文件中的第一行合并。

您可以尝试即时添加换行符:

find *.txt | xargs -I{} sh -c "cat {}; echo ''" | grep ... grep -P '(^[A-ZÖÄÜÕŠŽ].*[^.]$)' --colour

资料来源:https://stackoverflow.com/a/44675414/580346

以上是关于正则表达式 - 如何在搜索文件时防止或解决文件之间的干扰?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建正则表达式来查找 JS 文件(或 JSON)中的所有字符串

如何在 linux shell 脚本中使用正则表达式搜索文件 [关闭]

如何使用正则表达式 (glob) 搜索文件树

如何检查正则表达式是不是未能在 docx 文件中找到搜索字符串

寻求使用python在一个大文件中进行正则表达式

文件管理工具