Чтобы заставить grep
обрабатывать файлы с двоичным содержимым как ASCII, используйте его флаг -a
:
grep -a 'Apr 12' /var/log/auth.log
Это нестандартная -опция, но она реализована в GNU grep
и в grep
на OpenBSD (и, возможно, в других BSD ).
Когда данные, обрабатываемые GNU grep
, содержат нулевые байты или если они неправильно закодированы для текущей локали, grep
будет рассматривать их как двоичные. С -a
или --binary-files=text
GNU grep
будет вынужден обрабатывать такие данные как текст. См. документацию по опции --binary-files
в руководстве GNU grep
.
grep
обычно отказывается выводить двоичные данные, так как это может иметь «неприятные побочные эффекты, если вывод является терминалом и если драйвер терминала интерпретирует некоторые из них как команды." (цитата из руководства ).
Возможно. У меня нет полных инструкций. (Не стесняйтесь публиковать любой сценарий, который вы написали и т. д., и отмечайте его должным образом :-).
hostnamectl
/ hostnamed
не запускает скрипты. Когда вы меняете имя хоста с помощью hostnamectl
, hostnamed
выдает сигнал dbus с именем PropertyChanged
. Вы можете подключиться к сигналу dbus, используя что-то вроде dbus-monitor
.
https://askubuntu.com/questions/150790/how-do-i-run-a-script-on-a-dbus-signal
Приведенная выше ссылка описывает запуск сценария монитора dbus -при входе в графическую среду. Это делается с помощью автозапуска XDG. Если вы хотите, чтобы ваш сценарий монитора dbus -запускался без входа в графическую среду, вместо этого вы можете использовать простую службу systemd
.