У меня есть файл с кодировкой UTF-16, и я хочу разбить каждую строку на поля (в фиксированных позициях), разделенные запятыми. Я пробовал следующее:
Вариант 1)
sed -i 's/./&,/400;s/./&,/360;*<and so on for several positions in the line>* FILE
Это похоже на работу, но при редактировании файла с помощью vim очевидно, что что-то не так , поскольку запятые отображаются как один символ, а другие символы отображаются как двухбайтовый символ.
BEFORE: 2^@A^@U^@W^@2^@0^@1^@9^@0^@1^@0^@1^@0^@0^@0^@1^@0^@0^@
AFTER: 2^@,A^@U^@,W^@,2^@0^@1^@9^@0^@1^@0^@1^@,0^@0^@0^@1^@0^@0^@,
Вариант 2)
Затем я попытался снова использовать sed , но вместо "," Я набрал код UTF-16 в виде запятой, то есть 002 c:
sed -i "s/./&\U002c/400...
или даже
s/./&$(echo -ne '\u002c')/400...
Ни один из этих параметров не сработал, результаты точно такие же как в варианте 1.