15

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?

Pandya
  • 35,771
  • 44
  • 128
  • 188
Marco98T
  • 367
  • What is your mean by without open editor i.e. you don't want use also useful CLI text editor like: vi or nano as well as GUI like: gedit – Pandya Jul 02 '14 at 12:08
  • because I want to make a script for my android, I know android use linux kernel and has some linux command. And my script working perfectly – Marco98T Jul 05 '14 at 09:28

2 Answers2

35

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.

Radu Rădeanu
  • 169,590
5

Through awk,

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

Example:

$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0
Avinash Raj
  • 78,556