2017-09-22 84 views
-1

在我的bash腳本中,我想搜索文件/etc/hosts中的子字符olr4.dtf21,將其拆分爲兩個變量,然後將它們追加到同一行。查找字符串,然後將其附加到同一行

以下是文件中的行:

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4 

我想要做的是使線落得像:

137.222.209.123 olr4.dtf21.fltops.cat.dog.com olr4 olr4.dtf21 

我想我可以用sed來做到這一點,但得到一個子串和變量是暫時在我之上。

+2

它總是這個確切的子字符串嗎?如果不是,它是如何定義你想要捕獲和追加的? –

+2

它也看起來像你沒有真正分成兩個變量,你只是附加完全相同的字符串。 –

+0

如你所說,如果你可以用sed來完成你的任務,「將一個子串取出並加入變量」的目的是什麼?你爲什麼想要「變量」? – John1024

回答

0

您的要求不明確。如果你正在尋找一個有兩部分的圖案,你可以這樣做:awk

awk -v var1="value1" -v var2="value2" ' 
    $2 ~ var1"."var2 { print $0" "var1"."var2; next } # matching lines 
        { print      } # other lines 
    ' /etc/hosts 
相關問題