Добавление/редактирование текста строки в файле без открытого редактора (команда linux) [duplicate]

На этот вопрос уже есть ответ здесь:

Я знаю, как добавить новый текст в файл, но как его редактировать?

Пример: добавление hello_world = 1 в test. txt с помощью следующей команды:

echo "hello_world = 1" >> test.txt

Но как я могу изменить 1 на 0 или что-то еще?

9
задан 2 July 2014 в 15:55

2 ответа

Используя sed:

sed -i 's/1/0/g' test.txt

В целом:

sed -i 's/oldstring/newstring/g' filename

См. man sed для большего количества информации

26
ответ дан 2 July 2014 в 15:55

Через awk,

awk '{sub(/1/,"0")}1' infile > outfile

Пример:

$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0
4
ответ дан 2 July 2014 в 15:55

Другие вопросы по тегам:

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