【发布时间】:2019-08-02 19:52:41
【问题描述】:
某些文件中包含“文件分隔符”和“记录分隔符”字符。我想列出这些文件。记录分隔符是字符 28、十六进制的 1E,或者只是 RS。它不像可以转义的可打印字符之一。它也不像换行符或分别带有 \n 和 \t 的制表符。
如何 grep 或查找带有记录分隔符的文件?
【问题讨论】:
-
我不明白反对票。请让我知道我可以做些什么来改善它。
-
Stack Overflow 是专为专业和热情的程序员准备的问答页面。将您自己的代码添加到您的问题中。您应该至少展示自己为解决这个问题所做的研究。
-
好吧,通常我会使用“grep -Rl
”。然而,没有性格。在 vi 中查看文件,它看起来像“^^”。但是 /^^ 在 vi 或 grep 中不能用作搜索字符串。 Notepad++ 将字符显示为黑色背景上的白色 RS,但这在 grep 中也不起作用。我发现了一些帖子,人们使用带有 -F 选项的 grep 来查找 \t 选项卡和 \n 换行符,但我还没有找到任何资源,其中列出了用于记录和文件分隔符的类似转义符号。 -
如果我在 vi 中输入它,它会正确突出显示:/[\x1E]
-
@MrGoodfix 你确定你是在 Bash 下运行它吗?
$'..'是 bash 功能,而不是grep功能。我也会删除I,以防其他二进制字符导致grep相信该文件不是文本,因此默默地排除它。
标签: linux grep find special-characters