无法在 Linux 中 cat 名称中有空格的文件

无法在 Linux 中 cat 名称中有空格的文件

我相信有一个简单的解决办法但无法调试它。

我有一个文件名为“ file name with space” 我如何cat从 Linux bash 中获取此文件?

答案1

将名字用引号引起来不起作用吗?

cat "file name with space"

答案2

第三种选择是

cat 'file name with space'

其中文件名可能包含除 之外的所有内容'

如果确实如此,例如file n'ame,将每个替换''\''

cat 'file n'\''ame'

答案3

像这样使用转义字符 '\'

cat file\ name\ with\ space

答案4

我在 Linux 和 Cygwin 中都遇到过这个问题。我发现唯一可行的方法是将名称括在双引号中,并用星号替换非传统字符。例如:

tail File.basename.Job 带有 Spaces.log

变成...

tail "File.basename.Job*With*Spaces.log"

我尝试使用反斜杠转义空格,无论是否不受保护、用双引号保护还是用单引号保护,并且在所有情况下,尾部都将空格处的名称解析为不受保护。

相关内容