在不打开编辑器的情况下在文件中添加/编辑行文本(linux 命令)

Mar*_*98T 15 command-line text-processing

我知道如何向文件添加新文本,但如何编辑它?

示例:hello_world = 1使用以下命令添加到 test.txt:

echo "hello_world = 1" >> test.txt
Run Code Online (Sandbox Code Playgroud)

但我怎么能改10还是别的什么?

Rad*_*anu 35

使用sed

sed -i 's/1/0/g' test.txt
Run Code Online (Sandbox Code Playgroud)

一般来说:

sed -i 's/oldstring/newstring/g' filename
Run Code Online (Sandbox Code Playgroud)

查看man sed更多信息。


Avi*_*Raj 5

通过awk,

awk '{sub(/1/,"0")}1' infile > outfile
Run Code Online (Sandbox Code Playgroud)

例子:

$ echo 'hello_world = 1' | awk '{sub(/1/,"0")}1'
hello_world = 0
Run Code Online (Sandbox Code Playgroud)