Мне нужно преобразовать список XML-файлов в папке из UTF-16 в UTF-8, удалить спецификацию и затем заменить ключевое слово в файле из UTF-16 в UTF-8.
Я использую cygwin для запуска сценария оболочки bash, чтобы выполнить это, но я никогда раньше не работал с SED и мне нужна помощь!
Я нашел один вкладыш SED для удаления спецификации, теперь мне нужен другой для замены текста с UTF-16 на UTF-8 в заголовке xml.
Это то, что я имею до сих пор:
#!/bin/bash
mkdir -p outUTF8
#Convert files to unix format.
find -exec dos2unix {} \;
#Use a for loop to convert all the xml files.
for f in `ls -1 *.xml`; do
sed -i -e '1s/^\xEF\xBB\xBF//' FILE
iconv -f utf-16 -t utf-8 $f > outUTF8/$f
sed 's/UTF-16/UTF-8/g' $f > outUTF8/$f
echo $f
done
Однако эта строка:
sed 's/UTF-16/UTF-8/g' $f > outUTF8/$f
висит сценарий. Есть идеи относительно правильного формата для этого?