我尝试重新编码目录中的所有文件,并将结果放在子目录中。 我正在使用
find . -type f -name '*.txt' -execdir iconv -f utf-16 -t utf-8 {} > reencoded/{} \;
但是文件名不会替换第二次出现的' {}',而是会重新编码/ {}。
答案 0 :(得分:2)
将命令包含在对sh -c
的调用中,然后可以将{}
引用为$0
:
find . -type f -name '*.txt' -execdir sh -c 'iconv -f utf-16 -t utf-8 "$0" > reencoded/"$0"' {} \;