то, что я пытаюсь сделать, это ввести команду sudo в файл с echo или что-то подобное, но не в первой строке, а в другой строке после текста
то есть. У меня есть этот текст

line[4]command=sh -c "service apache2 start"
и я хочу, чтобы sudo было после "command =", как это сделать с помощью echo или чего-то еще?

2 ответа2

2
sed -i 's/command=/&sudo /' file

Объяснение: исследуя файл построчно, замените текст «command =» на «command = sudo». Символ & в строке замены будет совпадать с левой стороны.

0

Просто для полноты заметим, что в дополнение к потоковому редактору sed обычно имеется несколько текстовых редакторов с поддержкой сценариев, доступных в системах Unix или Linux. Там, ex , бывший :

ex file << END
%s/^command=/&sudo /
w
END

Или даже ed (Это разновидность GNU.):

ed file << END
1,$s/^command=/&sudo /
w
END

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .