前段時間看了一下awk的使用選項,字段變數,標準變數,操作運算子,正規表示式,陣列和控制流,並且也附帶著一些相關的案例,總的來說,在深入了解和使用awk之後,還是帶來了很多的便利,在處理文字的檔案的時候提供了更多的思路和便捷,比如按需自定義列印文字顯示格式,進行一些簡單的資料處理,同時awk還有和shell,python,go一些程式語言類似的迴圈,條件,邏輯處理,以及一些內建的函式更方便的幫助在命令列完成一些文字處理工作。今天完成了awk剩餘的一些知識點學習。
for格式:for(initialisation;condition;increment/decrement)action
for 語句首先執行初始化動作( initialisation ),然後再檢查條件( condition )。如果條件為真,則執行動作( actio n ),然後執行遞增( increment )或者遞減( decrement )操作。只要條件為真迴圈就會一直執行。每次迴圈結束 都會進條件檢查,若條件為假則結束 迴圈
awk 'begin ' # 注意這裡是++i,不是i++
while
while 迴圈會一直執行動作直到邏輯條件為假為止,awk 首先檢查條件是否為真,若條件為真則執行動作。此過程一直重複直到條件為假時,則停止
awk 'begin }' # 等同上面的for語句
do-while
do-while 迴圈與 while 迴圈相似,但是 do-while 的條件測試放到了迴圈的尾部,在 do-while 迴圈中,無論條件是真是假,迴圈語句至少執行一次,執行後檢查條件真假,使用格式如下:
do action
while (condition)
看乙個案例:
awk 'begin while (i < 6) }'
break
break 用以結束迴圈過程
awk 'begin
}'
continue
continue 語句用於在迴圈體內部結束本次迴圈,從而直接進入下一次迴圈迭代。當我們希望跳過迴圈中某處資料 處理時就會用到 continue
awk 'begin }'
exit
exit 用於結束指令碼程式的執行。該函式接受乙個整數作為引數表示 awk 程序結束狀態。如果沒有提供該引數,其預設狀態為 0
awk 'begin
}'
sum = 0
sum = 1
sum = 3
sum = 6
sum = 10
sum = 15
sum = 21
sum = 28
sum = 36
sum = 45
root # echo ? #檢視期退出的狀態碼為指定的10
10
awk 為程式開發者提供了豐富的內建函式。包括算術函式、字串操作函式、時間操 作相關的函式、位操作函式以及其它各種各樣的函式
算術函式
awk 'begin'
awk 'begin '
awk 'begin '
awk 'begin '
字串函式
注意mac上的awk 20070501版本沒有該函式
awk 'begin
asort(arr)
print "array elements after sorting:"
for (i in arr)
}'
awk '' docker-compose.yml # 替換docker-compose.yml中的172.16.132.148為0.0.0.0
awk 'begin '
awk 'begin }'
awk 'begin '
root@dev-node1:~# awk 'begin '
decimal num = 123
octal num = 83
hexadecimal num = 291
root@dev-node1:~# awk 'begin '
substring = hello
root@dev-node1:~# awk 'begin '
substring = hello, world !!!
時間函式
位操作函式
awk 'begin '
其他函式
awk '' marks.txt
awk '' file1.txt file2.txt
cat << eof >> functions.awk
function addition(num1, num2)
begin
eof
awk 'begin '
awk 'begin '
awk 'begin '
awk 'begin '
begin
車載乙太網和工業乙太網區別
車載乙太網使用單對非遮蔽電纜以及更小型緊湊的聯結器,使用非遮蔽雙絞線時可支援15m的傳輸距離 對於遮蔽雙絞線可支援40m 這種優化處理使車載乙太網可滿足車載emc要求。可減少高達80 的車內連線成本和高達30 的車內佈線重量。100m車載乙太網的phy採用了1g乙太網的技術,可通過使用回聲抵消在單線...
車載乙太網 DoIP協議培訓
長期以來,作為汽車 神經系統 的can匯流排技術曾是汽車廠商宣傳的技術亮點。然而,隨著汽車科技 尤其是汽車電子科技的發展,現有的汽車 神經系統 難以滿足行業發展需求。於是,各大汽車廠商開始把目光聚焦到乙太網。一方面,車聯網時代的到來,讓乙太網在汽車領域裡的應用成為一種趨勢 另一方面,隨著車載電子系統...
關於車載乙太網 Switch Vlan的理解
ethernet switch工作在是layer 2 osi的第二層 即基於ethernet mac位址進行交換 廣播通訊過程 如b向switch傳送廣播報文,則switch會將廣播報文廣播給埠1和埠3,從而實現廣播通訊。ethernet switch 與hub的最大差別是ethernet swit...