for循环内的iconv找不到输出目录

iconv inside for loop can't find output directory

我有这个代码:

文件夹中的文件/*; 做 iconv -f iso-8859-1 -t UTF-8 $文件 /Users/username/Desktop/LatinToUTF8.txt ;完成

我 运行 它在 Mac OS X High Sierra 的终端。该命令循环遍历文件夹中的所有文件,但出现错误:

iconv: /Users/username/Desktop/LatinToUTF8test.txt: 没有那个文件或目录

知道我做错了什么吗?

奇怪的是,我已经在 for 循环之外测试了这个 iconv 代码,它在那里工作正常。 IE。这段代码本身运行良好:

iconv -f iso-8859-1 -t UTF-8 /Users/username/Desktop/Document.txt /Users/username/Desktop/LatinToUTF8.txt ;完成

man page 之后,iconv 默认写入标准输出。应该是:

iconv -f iso-8859-1 -t UTF-8 "${file}" > /Users/username/Desktop/LatinToUTF8.txt

或者,使用 -o 选项:

iconv -f iso-8859-1 -t UTF-8 "${file}" -o /Users/username/Desktop/LatinToUTF8.txt