处理名称中包含空格的文件

时间:2017-09-11 03:43:54

标签: linux shell command-line-interface

我在许多文件夹下有很多大的csv文件,文件和文件夹的名称中都有空格。

我现在有了下面的代码,但是当文件/文件夹的名称中有空格时,它不起作用:

csv=$(find . -name "*.csv")

for f in $csv; do
  echo "Compressing $f"
  (cd $(dirname $f) && zip -j $(basename $f.zip) $(basename $f))
done

1 个答案:

答案 0 :(得分:1)

find执行zip本身,因为它仍然知道所有空格:

find -name '*.csv' -exec zip -j {}.zip {} \;

您撰写的内容的直接端口将使用-execdir代替-exec,但似乎没有必要。