Tôi đang cố gắng tìm tất cả các tệp văn bản có mã hóa iso-8859-1 và chuyển đổi chúng thành UTF-8. nỗ lực của tôi cho đến nay là:xargs: thay thế biến sau khi chuyển hướng
find . -name '*.txt' | xargs grep 'iso-8859-1' | cut -d ':' -f1 |
xargs iconv -f ISO-8859-1 -t UTF-8 {} > {}.converted
The (rõ ràng) vấn đề là các biến thay thế cuối cùng sẽ không làm việc, kể từ {}
xảy ra sau khi chuyển hướng, và không thuộc về xargs
. Vì tôi chỉ nhận được một tệp có tên là {}.converted
, không phải a.txt.converted
, b.txt.converted
v.v ... Làm cách nào để tôi có thể thực hiện công việc này?
Lưu ý: Tôi đang thực hiện việc này trên Cygwin, nơi biểu tượngv dường như không hỗ trợ -o
.
Vui lòng xem [câu hỏi liên quan] này (http://stackoverflow.com/q/845863/183066). – jcollado
Tôi không biết câu trả lời nào để chấp nhận. Các câu trả lời của e.dan và glenn là thực dụng nhất, nhưng Ole Tanges là sự hài lòng nhất về mặt thẩm mỹ. chorobas cũng khá là đẹp. Phải suy nghĩ về nó. –