如何在linux中查找带有斜杠的文件

den*_*zer 2 linux files find

我在文件系统中有一些以斜杠结尾的文件,如下所示:

my_text_file_1.txt\
some_other_file_2.pl\
Run Code Online (Sandbox Code Playgroud)

我通常在这些情况下使用find,但以下方法不起作用:

find . -name "*\\"
Run Code Online (Sandbox Code Playgroud)

有人有任何想法吗?谢谢

Cak*_*mox 5

您可以双重转义它或使用单引号:

find . -name "*\\\\" -print
find . -name '*\\' -print
Run Code Online (Sandbox Code Playgroud)

  • @superspace:这是`bash` 中单引号和双引号之间的区别(我认为任何其他shell)。在双引号字符串中,它仍然会扩展元字符,因此它会首先将 `\\` 变成你所期望的 `\`。然而,它随后被传递给 `find` 作为 `"*\"`,其中 `find` 再次展开它。`\"` 是一个字面量的 `"` 字符,让 `find` 寻找匹配 `"*"` 的文件。双重转义以有趣的方式解决了这个问题;并使用单引号告诉 shell 将所有内容传递给命令不变。 (2认同)