Оказывается, в моей сборке (Debian Buster )этот /tmp не устанавливался автоматически как tmpfs. Поэтому я включил монтирование tmp в systemd следующим образом:
cp /usr/share/systemd/tmp.mount /etc/systemd/system/
systemctl enable tmp.mount
И для journalctl, и для разрешения требуется доступ на запись к /tmp
Для одного файла достаточно удалить UTF -8 "BOM":
iconv -f utf-8 -t utf-16le INFILE |
iconv -f utf-16 -t utf-8 > OUTFILE
Но iconv обрабатывает все свои входные файлы как один «поток», поэтому вам следует делать это в цикле, если вы хотите объединить несколько файлов:
for f in FILELIST; do
iconv -f utf-8 -t utf-16le "$f" | iconv -f utf-16 -t utf-8
done > OUTFILE
Если вы действительно хотите добавить UTF -8 "BOM" обратно в (, что является DUMB , и я абсолютно не рекомендую):
for f in FILELIST; do
iconv -f utf-8 -t utf-16le "$f" | iconv -f utf-16 -t utf-8
done |
iconv -f utf-8 -t utf16 | iconv -f utf-16le -t utf-8 > OUTFILE
Но вы не должны зацикливаться на удалении этого символа "лягушка" в первую очередь. Просто оставьте это там и научитесь с этим жить. U+FEFF
не является недопустимым, когда находится в середине файла,и в Unicode есть много специальных меток и других невидимых символов (, которые "не будут отображаться в vi m " ); вы никогда не сможете предположить, что файл Unicode — это то, что отображается на экране.
Для исходного файла, например. скрипты #! /she/bang
, для их создания следует использовать что-то другое, кроме Блокнота;-)