shell三劍客之a(chǎn)wk

學(xué)習(xí)的內(nèi)容來自于Linux Shell腳本攻略(2)

內(nèi)容只做了簡單的記錄,方便自己學(xué)習(xí)

shell 命令查詢地址:http://man.linuxde.net/

awk

awk的靈活性十分的高,它是一款用于設(shè)計(jì)數(shù)據(jù)流的工具,最方便的操作是對數(shù)據(jù)的行和列的操作

基本結(jié)構(gòu)如下

awk 'BEGIN {print 'start'} pattern {commands } END{print 'end'} file

工作原理:

1)執(zhí)行BEGIN{commadns}語句塊中的語句

2)從文件或stdin中讀取一行,然后執(zhí)行pattern{commands}。重復(fù)這個(gè)過程直到文件全部被讀取完

  1. 當(dāng)讀至輸入流末尾時(shí),執(zhí)行END{commadns}語塊

Begin語句塊在awk開始從輸入流中讀取之前就已經(jīng)被執(zhí)行,這是一個(gè)可以選擇的語塊,當(dāng)我們需要初始化我們的輸出內(nèi)容的時(shí)候,就可以選擇比如表單的表頭

END語句塊是在awk從輸入流中讀取完所有行之后執(zhí)行的,這也是一個(gè)可以選擇的語句塊

pattern 語句塊 默認(rèn)執(zhí)行{print} 即打印讀取到的每一行

每讀取一行,awk就會檢查該行和提供的樣式是否匹配,如果匹配則執(zhí)行{}中的語句

1533176791822.png
1533176933033.png

awk的特殊變量

NR:表示記錄數(shù)量,在執(zhí)行過程中對應(yīng)于當(dāng)前行號

NF:表示字段數(shù)量(變量) 在執(zhí)行過程中對應(yīng)于當(dāng)前行的字段數(shù)

$0:這個(gè)變量包含執(zhí)行過程中當(dāng)前行的文本內(nèi)容

$1:這個(gè)變量包含第一個(gè)字段的文本內(nèi)容

$2:這個(gè)變量包含第二個(gè)字段的文本內(nèi)容

1533177674441.png

這里可以看他,他會把,左右的字段判斷成為一個(gè)字段

$NF 表示這一行的最后一個(gè)字段 ${NF-1}倒數(shù)第二個(gè)字段

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • awk:報(bào)告生成器,格式化文本輸出 內(nèi)容: awk介紹 awk基本用法 awk變量 awk格式化 awk操作符 a...
    BossHuang閱讀 1,557評論 0 9
  • 本章主要學(xué)習(xí)內(nèi)容awk介紹 ?awk基本用法 ?awk變量 ?awk格式化 ?awk操作符 ?awk條件判斷 ?a...
    楠人幫閱讀 1,376評論 0 8
  • 轉(zhuǎn)載 原文的排版和內(nèi)容都更加友好,并且詳細(xì),我只是在這里貼出了一部分留作自己以后參考和學(xué)習(xí),如希望更詳細(xì)了解AWK...
    XKirk閱讀 3,367評論 2 25
  • Linux指令中文說明傳送入口 整理自Linux指令中文說明 文本和數(shù)據(jù)進(jìn)行處理的編程語言awk 是一種編程語言,...
    釋閑人閱讀 2,389評論 1 6
  • 春節(jié)將至,各家公司都開啟了年會模式,每次在朋友圈看到別人家的年會,都會對自己家的年會充滿期待。那怎么樣才能辦好一場...
    肥羊君_閱讀 3,477評論 1 7

友情鏈接更多精彩內(nèi)容