LINUX.ORG.RU

Перенаправление вывода в sed.

 ,


0

1

Имеется для примера следующие строчки из скрипта:
blkid -s PARTUUID -o value /dev/sda2 < Выводит PARTUUID
sed -i "s/PARTUUID= //" /boot/loader/entries/arch.conf < Пишет PARTUUID в определённое место в файле
Собственно в этом и вопрос:
Как вывод первой команды передать в sed для записи?



Последнее исправление: vltsoy97 (всего исправлений: 1)

partuuid=$(blkid -s PARTUUID -o value /dev/sda2)
sed -i "s/PARTUUID= /PARTUUID= $partuuid/" /boot/loader/entries/arch.conf
anonymous
()

$cmd_with_output_to_stdout | sed -e $sed_commands

Deleted
()
Ответ на: комментарий от anonymous

Спасибо большое, я усвоил и запомнил.

vltsoy97
() автор топика

Ты можешь сделать это сразу в vim:

vim /boot/loader/entries/arch.conf
/PARTUUID= RET
:r! lsblk -f /dev/sda2 | awk 'END {print $3}' RET

anonymous
()
Ответ на: комментарий от anonymous

А, ну и прыгнуть после поиска по f= RET

anonymous
()
Ответ на: комментарий от anonymous

Ну я хотя бы намекнул на нужную команду, а не городил костыли, как остальные в топике.

Пф. Вызов xargs — лишний fork и exec. xargs был придуман для предотвращения переполнения количества аргументов у вызываемой программы, для одного слова это даже не костыль, а просто — ламерство.

vodz ★★★★★
()
Ответ на: комментарий от anonymous

Во-во, пошёл детский сад «сам дурак». Что, предложение с объяснением было слишком длинным и умишка не хватает распарсить, что так и продолжаем ламерить?

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.