所以,我正在使用正则表达式来搜索语料库中的一堆文件。重点是找到报纸文章的标题。
这是我使用的:
cat *.txt | grep -P '(^[A-ZÖÄÜÕŠŽ].*[^\.]$)' --colour
它找到以大写字母开头的行,后跟任何字符,但不以点结尾,适用于这些特定文件。
问题是两个文件互相干扰,一个文件最末端的点出现在另一个文件的开头,我得到了这个:
卡塔尔的所有门徒都证实,加入笑俱乐部后,他们的生活得到了显着改善。
有没有办法防止干扰而不实际修改文件或改变正则表达式的方法,以便排除开头的这个点?我必须说我是初学者,我试图找到解决方案,但没有一个是针对我的情况。
这些文件最后可能没有换行符,因此第一个文件的最后一行与第二个文件中的第一行合并。
您可以尝试即时添加换行符:
find *.txt | xargs -I{} sh -c "cat {}; echo ''" | grep ... grep -P '(^[A-ZÖÄÜÕŠŽ].*[^\.]$)' --colour