Linux查找将所有文件重新编码为子目录

时间:2015-06-30 17:51:14

标签: linux encoding find iconv

我尝试重新编码目录中的所有文件,并将结果放在子目录中。 我正在使用

find . -type f -name '*.txt' -execdir iconv -f utf-16 -t utf-8 {} >  reencoded/{} \;

但是文件名不会替换第二次出现的' {}',而是会重新编码/ {}。

1 个答案:

答案 0 :(得分:2)

将命令包含在对sh -c的调用中,然后可以将{}引用为$0

find . -type f -name '*.txt' -execdir sh -c 'iconv -f utf-16 -t utf-8 "$0" >  reencoded/"$0"' {} \;