awk之變數開關的使用

2021-06-04 06:05:29 字數 1164 閱讀 6186

awk之變數開關的使用

1.[server1]

serverid=1001

servername=abc

....

[server2]

serverid=1001

servername=abc

....

[server3]

serverid=1001

servername=abc

....

[server4]

serverid=1001

servername=abc

....

[要求]

每個server下面有完全相同的行,只修改server4下面的serverid為2222

awk 'begin/\[server4\]/i}1' file

使用i作為後面動作的開關,

匹配了/\[server4\]則開啟開關,列印輸出

執行完後面的修改動作後關閉開關

sed '/\[server3]/;s/\(serverid=\)\w*/\12222/}' file

sed -n '1h;/\[/!;1!' file

[server4]

serverid=1001

servername=abc

serverid=1001

....

指定只替換第2個

sed '/\[server4]/;s/\(serverid=\)\w*/\12222/2}' file

2.[11111]

kk=11

aaa=111

[22222]

kk=22

aaa=222

aaa=***

aaa=***

[33333]

kk=33

aaa=333

[code]

awk '/\[22222]/f/\[/1' file

沒有遇到[22222]執行預設1輸出

遇到[22222]開啟開關,執行下面的語句

開啟下一段指令的開關,列印匹配的模式,執行下一段指令

f一直為真,直到後面遇到,即下乙個段落,保證讀完本段落

sed '/\[22222\]/;s/\(aaa=\)\w*/\1test/2}' file

shell語法之變數的使用

1 變數 在shell裡,使用變數之前通常並不需要事先為它們做出宣告。你只是通過使用它們 比如當你給它們賦初始值時 來建立它們。在預設情況下,所有變數都被看做字串來儲存,即使它們被賦值為數值時也是如此。shell和一些工具程式會在需要時把數值型字串轉換為對應的數值以對它們進行操作。linux是乙個區...

php學習之 變數的使用

引用 one test two one 相當於傳位址,兩個變數指向乙個位址 動態變數 one two one three two echo three.輸出 two echo three.輸出 one echo three.輸出 php中有8個型別 4種標量 int integer bool boo...

php學習之變數的使用

複製 如下 php 引用 one test two one 相當於傳位址,兩個變數指向乙個位址 動態變數 one two one three two echo three.程式設計客棧r 輸出 two echo three.輸出 one echo three.輸出 php中有8個型別 4種標量 in...