正则表达式 - 如何在搜索文件时防止或解决文件之间的干扰?
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 脚本中使用正则表达式搜索文件 [关闭]