1

嗨,

我正在尝试使用imgopt优化我的网络服务器上上传的图片。问题是,当它找到名称中带有空格的文件时,它会抛出如下错误:

$imgopt file - name.jpg
stat: cannot stat 'file': No such file or directory
stat: cannot stat 'name.jpg': No such file or directory

任何人都可以帮助我吗?

谢谢,戴夫。

4

2 回答 2

0

您实际上向imgopt程序传递了三个选项:

  • file
  • -
  • name.jpg

该程序可能将它们中的每一个都视为一个单独的文件名(使用-being stdin,遵循标准的 Unix 约定)并尝试打开它们。这当然失败了。你想要的是引号:

imgopt "file - name.jpg"

这样,程序只给出了一个参数,它包含一个有效的文件名,以及所有的空白。

于 2013-09-30T07:12:58.200 回答
0

您仍然可以使用“imgopt”,但您必须使用以下命令重命名文件:

find your_folder -depth -name "* *" -execdir rename 's/ /_/g' "{}" \;

有关重命名目录等的更多详细信息,请参阅源代码......

第二个答案:您还可以使用这样的命令( source )传递带有空格的文件名:

for fname in "$@"; do
  process-one-file-at-a-time "$fname"
done
于 2013-09-30T09:25:59.897 回答