sdiff file1 file2 | sed -n '/|/='
Мы делаем параллельное сравнение двух файлов, и только для строк, которые различаются, мы отображаем номер строки.
Оставив в стороне вопрос «почему», подойдет любая команда, которая читает стандартный ввод и записывает в именованный выходной файл. Мой любимый — «дд», но я уже достаточно взрослый, чтобы использовать то, к чему относится «дд».
echo something | sudo dd of=/dev/kmsg
должно работать нормально.
Используйте команду logger
, которая представляет собой линейный интерфейс командной оболочки -для модуля системного журнала syslog
. Вы можете использовать переключатель -p
для изменения приоритета сообщения журнала, который, в свою очередь, используется для определения того, в какой файл журнала записывается сообщение. Из руководства:
-p, --priority priority
Enter the message into the log with the specified priority. The priority may be specified numerically or as a facility.level pair. For example, -p local3.info logs the message as infor‐
mational in the local3 facility. The default is user.notice.
Я знаю, что вы просили что-то без перенаправления оболочки, но вы могли бы заставить свою команду sudo
работать, изменив ее на следующую:
sudo su -c 'echo "$USER: my message" > /dev/kmsg'