【问题标题】:Linux deleted files with spacesLinux 删除了带空格的文件
【发布时间】:2015-06-26 19:42:07
【问题描述】:

我有一些文件,其名称在 linux 中包含空格,并且想要从命令行删除(或重命名)。我看过几个网站,说我们应该把 \ 放在空格之前,放 '',放 " " ...但没有一个适合我。就好像在空间中按名称一分为二。我可以做什么?它在我的设置 linux 控制台中吗?他们还说有很多文件夹,不是我的,就是我只想为我的家人做,而不是为每个钱包做。我举一个你说的例子:((((No existe fichero o directoryio表示不存在文件或目录))))

 ->ls -lrt SINCERHOG\ 150626*
-rw-rw-r-- 1 s10283 dessiis  167 jun 26 09:25 SINCERHOG 150626092551.xls
-rw-rw-r-- 1 s10283 dessiis    0 jun 26 09:35 SINCERHOG 150626093540.xls
-rw-rw-r-- 1 s10283 dessiis 2306 jun 26 09:59 SINCERHOG 150626095953.xls
-rw-rw-r-- 1 s10283 dessiis 2306 jun 26 10:12 SINCERHOG 150626101237.xls


 ->rm SINCERHOG\ *
 ls: no se puede acceder a SINCERHOG: No existe el fichero o el directorio
 ls: no se puede acceder a 150626092551.xls: No existe el fichero o el directorio
ls: no se puede acceder a SINCERHOG: No existe el fichero o el directorio
ls: no se puede acceder a 150626093540.xls: No existe el fichero o el directorio
ls: no se puede acceder a SINCERHOG: No existe el fichero o el directorio
ls: no se puede acceder a 150626095953.xls: No existe el fichero o el directorio
ls: no se puede acceder a SINCERHOG: No existe el fichero o el directorio
ls: no se puede acceder a 150626101237.xls: No existe el fichero o el directorio

【问题讨论】:

标签: linux command-line-interface


【解决方案1】:

根据您的 shell,当您调用 rm SINCER* 时,SINCER* 中的星号 (*) 会让您的 shell 认为 SINCER* 是一个模式,因此文件名扩展开始。因此用 (空格分隔)导致命令的文件名列表

rm SINCERHOG 150626092551.xls SINCERHOG 150626093540.xls

但你想要的是

rm "SINCERHOG 150626092551.xls" "SINCERHOG 150626093540.xls"

你也可以试试

rm SINCERHOG\ *

【讨论】:

  • 它不起作用。这样做就好像名字在空格所在的地方分成两个,并将其转换为两个文件,其名称将是该名称的每个单词。寻找更多信息编辑@Denis
  • 你使用哪个外壳?
  • 我怎么知道的? @丹尼斯
  • /bin/ksh @Denis
【解决方案2】:

我无法清楚地阅读您的示例。但是如果文件名中有空格,请在传递给命令时将文件名放在双引号中,如下所示

如果你的文件名如下

> ls *
  my file name.txt
> rm "my file name.txt"

【讨论】:

    猜你喜欢
    • 2011-05-05
    • 2016-10-08
    • 2011-09-08
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 2019-05-18
    • 2021-02-02
    相关资源
    最近更新 更多