【问题标题】:Need to remove files with spaces in Debian需要在 Debian 中删除带空格的文件
【发布时间】:2013-02-06 21:07:21
【问题描述】:

我需要在某个文件夹中查找并删除带有空格的文件。

【问题讨论】:

  • 您必须更具体。文件 名称 带有空格?还是 文件 本身带有空格?
  • 我下面的回答显然是假设前者。

标签: find debian filenames spaces


【解决方案1】:
$ ls -l
total 16
-rw-r--r--  1 smw  staff  10 Feb  6 16:10 Foo Bar
-rw-r--r--  1 smw  staff  11 Feb  6 16:10 foobar


$ ls -l *\ *
-rw-r--r--  1 smw  staff  10 Feb  6 16:10 Foo Bar

$ rm -i *\ *
remove Foo Bar? y

$ ls -l
total 16
-rw-r--r--  1 smw  staff  11 Feb  6 16:10 foobar

【讨论】:

  • 所有文件只有一个空格就好了
  • 它会愉快地删除有多个空格的文件吗?试试看。
  • 你是对的,对不起。当然,这会擦除至少有一个空格的任何内容,而其余部分则保持原样,我错过了这一点。无论如何,我以某种方式阅读了 OP 的请求,希望以某种方式将文件重命名为无空格的名称。
【解决方案2】:

在处理空格时,你必须处理 bash 的细节......

首先,您需要遍历文件,以一种无论空格如何都能正确提供文件的方式。查看this question。我赞成这个:

find ... | while read line ; do command "$line" ; done

然后就是使用sed 之类的东西将$line 更改为command "$line" 所在的任何你需要的东西(比如没有空格的相同东西)。

【讨论】:

    【解决方案3】:

    这就是我删除带有空格的文件的方式

    pi@raspberrypi ~/Music $ ls -l
    -rw-r--r-- 1 pi pi      0 Feb 25 16:05 Sleep Away.mp3
    
    pi@raspberrypi ~/Music $ rm Sleep\ Away.mp3
    

    使用“\”正斜杠转义任何空格

    【讨论】:

      猜你喜欢
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-08
      • 2023-03-22
      • 1970-01-01
      • 2016-08-22
      • 2020-02-09
      相关资源
      最近更新 更多