Add/edit line text in file without open editor (linux command) [duplicate]
I know how to add new text to a file, but how can I edit it?
Example: adding hello_world = 1
to test.txt using the following command:
echo "hello_world = 1" >> test.txt
But how can I change 1
to 0
or something else?
Solution 1:
Using sed
:
sed -i 's/1/0/g' test.txt
In general:
sed -i 's/oldstring/newstring/g' filename
See man sed
for more info.
Solution 2:
Through awk,
awk '{sub(/1/,"0")}1' infile > outfile
Example:
$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0