Можно зарегистрироваться для получения уведомления, когда использование памяти контрольной группой превышает пороговое значение. В принципе, установка порога в подходящую точку ниже фактического лимита позволит вам послать сигнал или предпринять другие действия.
См .:
https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt
Если вы не уверены, содержит ли файл спецификацию UTF -8, тогда это (предполагает, что реализация GNUsed
)удалит спецификацию, если она существует, или не внесет никаких изменений, если она не существует. т.
sed '1s/^\xEF\xBB\xBF//' < orig.txt > new.txt
Вы также можете перезаписать существующий файл с помощью опции -i
:
sed -i '1s/^\xEF\xBB\xBF//' orig.txt
Если вы используете BSD-версию sed
(, например macOS ), вам нужно, чтобы bash выполнял экранирование:
sed $'1s/\xef\xbb\xbf//' < orig.txt > new.txt
Можно удалить спецификацию из файла с помощью команды tail
:
tail -c +4 withBOM.txt > withoutBOM.txt
Имейте в виду, что при этом удаляются первые 4 байта из файла, поэтому перед запуском tail
убедитесь, что файл действительно содержит спецификацию.
Спецификация не имеет смысла в UTF -8. Они обычно добавляются по ошибке фиктивным программным обеспечением в ОС Microsoft.
dos2unix
удалит его, а также позаботится о других особенностях текстовых файлов Windows.
dos2unix test.xml
Недавно я нашел эту крошечную команду -линейный инструмент, который добавляет или удаляет спецификацию в произвольных файлах UTF -8 закодированных файлов:UTF BOM Utils(новая ссылка на github)
Небольшой недостаток: вы можете скачать только простой исходный код C++. Вы должны создать make-файл (с помощью CMake , например )и скомпилировать его самостоятельно, двоичные файлы на этой странице не представлены.
Для этого я использую лайнер vim one -на обычном:
vim --clean -c 'se nobomb|wq' filename
vim --clean -c 'bufdo se nobomb|wqa' filename1 filename2...
Я знаю, что это было давно, но поскольку у меня была немного другая проблема, я пишу, чтобы другие могли получить пользу.
В моем текстовом файле случайным образом преследовали символы \fe\ff
, к счастью для меня, они появились в начале строк, а набор допустимых символов ограничен буквенно-цифровыми.
Приведенная ниже команда в vim
вырезает первый не -буквенно-цифровой символ, но используйте ее с осторожностью, так как набор разрешенных символов может различаться.
:%s/^[^a-zA-Z0-9]//g