久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      通過幾個案例講解linux下的awk命令

      shell編程三劍客里,awk比另外兩個命令grep、sed更加復(fù)雜,更加難以掌握,因為awk是可以作為一個編程語言的!難歸難,但該命令是必須要掌握的命令,因為它的功能實在太強(qiáng)大了!

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

      awk [選項] 'pattern1 {action1} patten2 {action2} ……' filename
      • 單引號是為了和shell命令區(qū)分開來。

      • 大括號表示一個命令分組。可以是一個動作,或多個動作,如果是多個動作,則動作之間需要加上;或輸入enter鍵

      • pattern是模式,表示匹配到的行才進(jìn)行action。模式可以是正則,或算術(shù)表達(dá)式等

      • pattern和action可以只有其一,但不能兩者都沒有

      awk常用的選項如下:

      • -F:指定分割符,分割符可以是字符也可以是一個正則表達(dá)式

      • -v val=value,定義一個變量并賦值

      下面,我來通過一個應(yīng)用來講解awk命令的使用。下面是一個文本文件的部分內(nèi)容

      # head city.txt  北京 BEIJING BJ  上海 SHANGHAI SH  天津 TIANJIN TJ  重慶 CHONGQING ZQ  阿克蘇 AKESU AKS  ……

      現(xiàn)在的需求是,獲取每個城市的全拼,然后轉(zhuǎn)換為小寫形式再連接上hellowx.com。其他的信息全部給過濾掉。

      # awk 'NR%2==0{next}{print}' city.txt  | head -n 10 北京 BEIJING BJ 上海 SHANGHAI SH 天津 TIANJIN TJ 重慶 CHONGQING ZQ 阿克蘇 AKESU AKS 安寧 ANNING AN 安慶 ANQING AQ 鞍山 ANSHAN AS 安順 ANSHUN AS 安陽 ANYANG AY

      我們注意到,偶數(shù)行都是空白行。所以只要過濾偶數(shù)行就行了。這樣過濾掉了空白行。注意上面的NR表示當(dāng)前行號,意思是偶數(shù)行全部過濾掉。next表示忽略當(dāng)前行。

      接下就需要過濾第一和第三字段。

      # awk 'NR%2==0{next}{print $2}' city.txt  | head -n 10 BEIJING SHANGHAI TIANJIN CHONGQING AKESU ANNING ANQING ANSHAN ANSHUN ANYANG

      上面的$2表示第二個字段,結(jié)合print表示只打印第二個字段。最后就是轉(zhuǎn)換和連接的工作了,就需要使用tr命令了。

      # awk 'NR%2==0{next}{print $2}' city.txt  | head -n 10 | tr [A-Z] [a-z] | awk '{print $1"hellowx.com"}' beijinghellowx.com shanghaihellowx.com tianjinhellowx.com chongqinghellowx.com akesuhellowx.com anninghellowx.com anqinghellowx.com anshanhellowx.com anshunhellowx.com anyanghellowx.com

      tr命令是用來作轉(zhuǎn)換的,將全部大寫轉(zhuǎn)換我小寫,然后再用awk來連接上后面的字符串。

      對上面涉及的幾個命令,如果不是太熟悉可能不是那么容易理解。建議,可以一步一步的來。熟悉了第一步而,然后再去理解第二部。

      最后,希望大家可以認(rèn)真去學(xué)習(xí)下這個命令,如果掌握了awk,就可以做出很多有意思的事情哦!

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號