Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一堆文件是用 GB2312 编码的,现在我想将它们转换成 UTF-8,所以我应用下面的代码:
find . | xargs iconv -f GB2312 -t UTF-8
它成功转换它们,但输出打印在控制台中。
在这里,我希望它们保存在原始文件中,我该怎么做?
您总是可以使用循环而不是xargs. 我不建议在一次性命令行调用中覆盖文件。先把它们移到一边怎么样:
xargs
for file in `find .`; do mv "$file" "file.old" && iconv -f GB2312 -t UTF-8 < "$file.old" > "$file" done
请注意这一点。如果您的文件名包含空格,则此循环可能无法正常工作。