小编Reb*_*nes的帖子

如何使用 Unix 命令打印包含汉字的行或包含 ### 的行?

我有一个文本文件,我想使用 Unix 命令(我不关心哪个)来打印包含中文字符或包含字符串 ### 的行。

\n

这个答案有一个 grep 命令,可以打印出包含汉字的行

\n
grep -P \'[\\p{Han}]\' filename.txt\n
Run Code Online (Sandbox Code Playgroud)\n

我理解这是一个 Perl 正则表达式。这会打印出包含 ### 的行:

\n
grep \'###\' filename.txt\n
Run Code Online (Sandbox Code Playgroud)\n

但我不知道如何组合(或)它们。如果我grep -e \'###\' -P \'[\\p{Han}]\'按照我的预期,这个答案会概括,它不会打印出包含汉字的行。

\n

问题:如何使用 Unix 命令打印包含汉字的行或包含 ### 的行?

\n

哦,万一有帮助,如果文件包含

\n
\xe4\xb8\xad\xe6\x96\x87 keep this line\n### keep this line\ndon\'t keep this line\n
Run Code Online (Sandbox Code Playgroud)\n

它应该输出

\n
\xe4\xb8\xad\xe6\x96\x87 keep this line\n### keep this line\n
Run Code Online (Sandbox Code Playgroud)\n

grep text-processing

4
推荐指数
2
解决办法
1649
查看次数

标签 统计

grep ×1

text-processing ×1