Добавить/редактировать текстовую строку в файле без открытия редактора (команда Linux)

Добавить/редактировать текстовую строку в файле без открытия редактора (команда Linux)

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

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

echo "hello_world = 1" >> test.txt

Но как я могу изменить 1это на 0что-то другое?

решение1

С использованием sed:

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

В общем:

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

man sedБолее подробную информацию см .

решение2

Через awk,

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

Пример:

$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0

Связанный контент