Как записать файл из командной строки, не используя перенаправление вывода оболочки? [дубликат]

sdiff file1 file2 | sed -n '/|/='

Мы делаем параллельное сравнение двух файлов, и только для строк, которые различаются, мы отображаем номер строки.

0
01.01.2019, 15:37
3 ответа

Оставив в стороне вопрос «почему», подойдет любая команда, которая читает стандартный ввод и записывает в именованный выходной файл. Мой любимый — «дд», но я уже достаточно взрослый, чтобы использовать то, к чему относится «дд».

echo something | sudo dd of=/dev/kmsg

должно работать нормально.

1
28.01.2020, 02:23

Используйте команду 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.
2
28.01.2020, 02:23

Я знаю, что вы просили что-то без перенаправления оболочки, но вы могли бы заставить свою команду sudoработать, изменив ее на следующую:

sudo su -c 'echo "$USER: my message" > /dev/kmsg'

0
28.01.2020, 02:23

Теги

Похожие вопросы