当我输入ls
或locate
作为输出时,我得到“ a file.txt
”(“a”和“file.txt”之间有一个空格)。
我用鼠标突出显示它,然后用中间的按钮粘贴它。
现在我必须在“a”后面加上 \,以便a file.txt
可以在诸如“ ls a\ file.txt
”的命令中读取“”,现在如果文件名是某本书的名称,并且该书有很多空格,则修改名称需要时间。有没有办法快速做到这一点?
答案1
您可以在粘贴前添加引文,然后将其关闭。因此,您可以启动命令
ls "
然后粘贴您的文本
ls "a file.txt
然后关闭引文并按回车键
ls "a file.txt"
代替
ls a\ file.txt
如果用引号括住字符串,则不必转义每个空格。
注意:您也可以使用单引号,如果您得到类似名为 $test 的文件,这将防止变量扩展
ls '$test'
不会等同于
ls "$test"
使用空变量时,第二个示例将列出当前目录,而不仅仅是文件 $test
答案2
反斜杠是 shell 用来处理字面后面空格的转义字符。尝试用下划线或破折号替换空格。
答案3
一些终端仿真器(例如,Mac OS X Terminal)有一个命令,用于粘贴带引号的文本。在终端中,它是编辑 > 粘贴转义文本;它会在特殊字符前插入反斜杠。您的终端程序可能有类似的命令。