背景
當我們想要從一個文件中讀取一個值替換另一個文件中的一個值時,我們常常感到無力,但其實這種操作使用 sed 和 awk 是能夠輕鬆實現的。
首先,我們有兩個文件,第一個文件中我們有一個魅力值,第二個文件中標記了恆寶的魅力值。衆所周知,恆寶的魅力值應該是滿分100分,而b.txt
由於年代古老,沒有更新成最新的值。
a.txt
charm.value=100
b.txt
hengbao.charm.value=99
1.從a.txt中獲取魅力值
version=`grep 'charm.value' a.txt | awk -F '=' '{print $2}'`
2.寫入b.txt
sed -i "1c hengbao.charm.value=$version" b.txt
這裏要注意別忘記-i
,否則原文件是不會修改的。
3.總結
所以整個shell腳本應該如下所示:
version=`grep 'charm.value' a.txt | awk -F '=' '{print $2}'`
sed -i "1c hengbao.charm.value=$version" b.txt
這樣一來,我們運行shell腳本就可以完成恆寶的魅力值更新了!這可真是節省我們的時間啊。