我正在尝试使用cygwing脚本将我的ANSI文件的编码转换为UTF8编码。以下是脚本:
#!/bin/bash
FROM=ANSI
TO=UTF-8
ICONV="iconv -f $FROM -t $TO"
# Convert
find webazmoon7/ -type f -name "*" | while read fn; do
cp ${fn} ${fn}.bak
$ICONV < ${fn}.bak > ${fn}
rm ${fn}.bak
done
,但我遇到了语法错误,几乎是意外的令牌"完成"。" webazmoon7"是我试图转换其中编码文件的目录。有什么问题?
尝试引用变量并更改find/while
循环:
while read -r fn; do
cp "${fn}" "${fn}.bak"
iconv -f "$FROM" -t "$TO" < "${fn}.bak" > "${fn}"
rm "${fn}.bak"
done < <(find webazmoon7/ -type f -name "*")