为什么此脚本找不到名称以空格结尾的目录

弗雷德

当目录不再包含任何带有.mp3或.ogg文件的目录(具有任何目录)时,我具有以下脚本来递归清除目录:

  set -u
  find -L $1 -depth -type d | while read dir
  do
    songList=`find -L "$dir" -type f \( -iname '*.ogg' -o -iname '*.mp3' \)` && {
      if [[ -z "$songList" ]]
      then
        echo removing "$dir"
        rm -rf "$dir"
      fi
    }
  done

这非常有效,除了在目录中使用空格作为名称的最后一个字符的情况下find失败之外,如果使用脚本调用第二个失败,则第二个失败,并带有以下反馈。作为其唯一参数,并且存在一个带有路径的目录'./FOO/BAR BAZ '(请注意末尾的空格):

find: `./FOO/BAR BAZ': No such file or directory

(请注意,尽管其他空格保留不变,但最后缺少的空格)。

我很确定这是一个引号,但是我尝试过的其他所有引号方式都会使行为变得更糟(即,更多目录失败)。

恶魔

read遇到空格时将输入拆分。报价help read

Read a line from the standard input and split it into fields.

Reads a single line from the standard input, or from file descriptor FD
if the -u option is supplied.  The line is split into fields as with word
splitting, and the first word is assigned to the first NAME, the second
word to the second NAME, and so on, with any leftover words assigned to
the last NAME.  Only the characters found in $IFS are recognized as word
delimiters.

您可以设置IFS并避免单词分裂。说:

find -L "$1" -depth -type d | while IFS='' read dir

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么此脚本不更改目录

来自分类Dev

为什么此解析器找不到使用名称空间前缀的XML标记的内容?

来自分类Dev

为什么我的脚本找不到文件?

来自分类Dev

为什么我的文件夹名称以这种方式结尾,以及如何使用脚本解决此问题?

来自分类Dev

为什么此PHP SimpleXML XPath找不到值?

来自分类Dev

为什么此PL / SQL找不到表?

来自分类Dev

为什么此RegEx找不到任何数据?

来自分类Dev

找不到目录名称

来自分类Dev

shell命令为什么找不到。名称“ * .txt” | rm删除当前目录中的所有.txt文件?

来自分类Dev

shell命令为什么找不到。名称“ * .txt” | rm删除当前目录中的所有.txt文件?

来自分类Dev

为什么从〜运行时find命令找不到目录?

来自分类Dev

为什么找不到。-delete删除当前目录?

来自分类Dev

为什么会出现“找不到名称匹配”的CertificateException?

来自分类Dev

为什么Beautifulsoup找不到按名称输入的信息?

来自分类Dev

提取残差时为什么找不到因子名称?

来自分类Dev

为什么在此构建脚本中找不到“ xcodebuild:命令”?

来自分类Dev

为什么这个python脚本找不到libclang dll?

来自分类Dev

pgrep为什么找不到通过env启动的脚本?

来自分类Dev

为什么这个python脚本找不到libclang dll?

来自分类Dev

为什么我的脚本中有“找不到命令”?

来自分类Dev

bash rsync 找不到带空格的目录

来自分类Dev

为什么找不到-name或-regex都找不到我的目录

来自分类Dev

IntelliJ中的SonarQube本地脚本找不到mvn(IOException /无此目录)

来自分类Dev

为什么此脚本给出“意外的文件结尾”语法错误?

来自分类Dev

Bash在脚本中找不到正确的目录

来自分类Dev

自动FTP脚本找不到源目录

来自分类Dev

解压缩错误“找不到中央目录结尾签名”

来自分类Dev

解压缩错误“找不到中央目录结尾签名”

来自分类Dev

为什么找不到元素“ a”?

Related 相关文章

  1. 1

    为什么此脚本不更改目录

  2. 2

    为什么此解析器找不到使用名称空间前缀的XML标记的内容?

  3. 3

    为什么我的脚本找不到文件?

  4. 4

    为什么我的文件夹名称以这种方式结尾,以及如何使用脚本解决此问题?

  5. 5

    为什么此PHP SimpleXML XPath找不到值?

  6. 6

    为什么此PL / SQL找不到表?

  7. 7

    为什么此RegEx找不到任何数据?

  8. 8

    找不到目录名称

  9. 9

    shell命令为什么找不到。名称“ * .txt” | rm删除当前目录中的所有.txt文件?

  10. 10

    shell命令为什么找不到。名称“ * .txt” | rm删除当前目录中的所有.txt文件?

  11. 11

    为什么从〜运行时find命令找不到目录?

  12. 12

    为什么找不到。-delete删除当前目录?

  13. 13

    为什么会出现“找不到名称匹配”的CertificateException?

  14. 14

    为什么Beautifulsoup找不到按名称输入的信息?

  15. 15

    提取残差时为什么找不到因子名称?

  16. 16

    为什么在此构建脚本中找不到“ xcodebuild:命令”?

  17. 17

    为什么这个python脚本找不到libclang dll?

  18. 18

    pgrep为什么找不到通过env启动的脚本?

  19. 19

    为什么这个python脚本找不到libclang dll?

  20. 20

    为什么我的脚本中有“找不到命令”?

  21. 21

    bash rsync 找不到带空格的目录

  22. 22

    为什么找不到-name或-regex都找不到我的目录

  23. 23

    IntelliJ中的SonarQube本地脚本找不到mvn(IOException /无此目录)

  24. 24

    为什么此脚本给出“意外的文件结尾”语法错误?

  25. 25

    Bash在脚本中找不到正确的目录

  26. 26

    自动FTP脚本找不到源目录

  27. 27

    解压缩错误“找不到中央目录结尾签名”

  28. 28

    解压缩错误“找不到中央目录结尾签名”

  29. 29

    为什么找不到元素“ a”?

热门标签

归档