У меня есть файлы размером 10 МБ, которые имеют текст ASCII, но заканчиваются нулевыми символами. Я использую cat myfile | tr -d '\000' | less
, чтобы удалить эти нулевые символы.trim null символ при открытии менее
Ищет способ сделать это автоматически через $LESSOPEN
или lessopen.sh
. Я попытался добавить в lessopen.sh
:
if grep -q -Pa '\x00' $1; then
tr -d '\000' $1
fi
И export LESSOPEN='| tr -d "\000" | lesspipe.sh %s'
Ни работы.
Любая помощь приветствуется. Благодаря
Хорошо работает, когда я открываю файл, используя только меньше (например, 'less myfile'). Но не работает, когда я трачу его меньше (например, 'cat myfile | less') –
Если вы имеете в виду' lessopen.sh myfile' и 'cat myfile | lessopen.sh', тогда скрипт должен быть готов читать из 'stdin', которого нет в моей начальной версии. См. Мой ответ, я изменил его, чтобы принять 'stdin' как вход. – WPomier