У мене є кілька файлів із закінченнями рядків Windows та кодуванням latin-1, які мені потрібно перетворити на закінчення рядків Unix та utf-8.
Звичайно я можу
for file in ./*.csv; do
sed s'/^M//' "$file" > "${file}.bak"
iconv -f iso-8859-1 -t utf8 "${file}.bak" > "$file"
rm "${file}.bak"
done
Але чи є загальнодоступний інструмент, який може робити обидві ці речі одночасно? Можливо, це не найефективніший спосіб. (Може бути, iconv?)
1
Я впевнений, що відповідь - «ні», оскільки ці дві задачі дуже різні, і не має сенсу писати єдиний інструмент для виконання обох завдань одночасно, особливо це стосується філософії Unix. Але еге, хто знає, коли хтось досить божевільний ...
—
Абель Чеунг