校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 詳解Linx awk 入門教程

詳解Linx awk 入門教程

熱門標簽:外呼系統的經營范圍 云會外呼系統 安陽ai電銷機器人軟件 智能電話機器人坐席 涪陵商都400電話開通辦理 申請400電話價格多少 柳州市機器人外呼系統報價 外呼系統不彈窗 廈門營銷外呼系統平臺

awk是處理文本文件的一個應用程序,幾乎所有 Linux 系統都自帶這個程序。

它依次處理文件的每一行,并讀取里面的每一個字段。對于日志、CSV 那樣的每行格式相同的文本文件,awk可能是最方便的工具。

awk其實不僅僅是工具軟件,還是一種編程語言。不過,本文只介紹它的命令行用法,對于大多數場合,應該足夠用了。

一、基本用法

awk的基本用法就是下面的形式。

# 格式
$ awk 動作 文件名
# 示例
$ awk '{print $0}' demo.txt

上面示例中,demo.txt是awk所要處理的文本文件。前面單引號內部有一個大括號,里面就是每一行的處理動作print $0。其中,print是打印命令,$0代表當前行,因此上面命令的執行結果,就是把每一行原樣打印出來。

下面,我們先用標準輸入(stdin)演示上面這個例子。

$ echo 'this is a test' | awk '{print $0}'
this is a test

上面代碼中,print $0就是把標準輸入this is a test,重新打印了一遍。

awk會根據空格和制表符,將每一行分成若干字段,依次用$1、$2、$3代表第一個字段、第二個字段、第三個字段等等。

$ echo 'this is a test' | awk '{print $3}'
a

上面代碼中,$3代表this is a test的第三個字段a。

下面,為了便于舉例,我們把/etc/passwd文件保存成demo.txt。

root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync

這個文件的字段分隔符是冒號(:),所以要用-F參數指定分隔符為冒號。然后,才能提取到它的第一個字段。

$ awk -F ':' '{ print $1 }' demo.txt
root
daemon
bin
sys
sync

語法

awk [選項參數] 'script' var=value file(s)


awk [選項參數] -f scriptfile var=value file(s)

二、變量

除了$ + 數字表示某個字段,awk還提供其他一些變量。

變量NF表示當前行有多少個字段,因此$NF就代表最后一個字段。

$ echo 'this is a test' | awk '{print $NF}'
test
$(NF-1)代表倒數第二個字段。
$ awk -F ':' '{print $1, $(NF-1)}' demo.txt
root /root
daemon /usr/sbin
bin /bin
sys /dev
sync /bin

上面代碼中,print命令里面的逗號,表示輸出的時候,兩個部分之間使用空格分隔。
變量NR表示當前處理的是第幾行。

$ awk -F ':' '{print NR ") " $1}' demo.txt

1) root
2) daemon
3) bin
4) sys
5) sync

上面代碼中,print命令里面,如果原樣輸出字符,要放在雙引號里面。

awk的其他內置變量如下。

FILENAME:當前文件名
FS:字段分隔符,默認是空格和制表符。
RS:行分隔符,用于分割每一行,默認是換行符。
OFS:輸出字段的分隔符,用于打印時分隔字段,默認為空格。
ORS:輸出記錄的分隔符,用于打印時分隔記錄,默認為換行符。
OFMT:數字輸出的格式,默認為%.6g

三、函數

awk還提供了一些內置函數,方便對原始數據的處理。

函數toupper()用于將字符轉為大寫。

$ awk -F ':' '{ print toupper($1) }' demo.txt
ROOT
DAEMON
BIN
SYS
SYNC

上面代碼中,第一個字段輸出時都變成了大寫。

其他常用函數如下。

tolower():字符轉為小寫。
length():返回字符串長度。
substr():返回子字符串。
sin():正弦。
cos():余弦。
sqrt():平方根。
rand():隨機數。

awk內置函數的完整列表,可以查看手冊。

四、條件

awk允許指定輸出條件,只輸出符合條件的行。

輸出條件要寫在動作的前面。

$ awk '條件 動作' 文件名

請看下面的例子。

$ awk -F ':' '/usr/ {print $1}' demo.txt
root
daemon
bin
sys

上面代碼中,print命令前面是一個正則表達式,只輸出包含usr的行。

下面的例子只輸出奇數行,以及輸出第三行以后的行。

# 輸出奇數行
$ awk -F ':' 'NR % 2 == 1 {print $1}' demo.txt
root
bin
sync

# 輸出第三行以后的行
$ awk -F ':' 'NR >3 {print $1}' demo.txt
sys
sync

下面的例子輸出第一個字段等于指定值的行。

$ awk -F ':' '$1 == "root" {print $1}' demo.txt
root

$ awk -F ':' '$1 == "root" || $1 == "bin" {print $1}' demo.txt
root
bin


五、if 語句

awk提供了if結構,用于編寫復雜的條件。

$ awk -F ':' '{if ($1 > "m") print $1}' demo.txt
root
sys
sync

上面代碼輸出第一個字段的第一個字符大于m的行。

if結構還可以指定else部分。

$ awk -F ':' '{if ($1 > "m") print $1; else print "---"}' demo.txt
root
---
---
sys
sync

六、參考鏈接

An Awk tutorial by Example, Greg Grothaus

30 Examples for Awk Command in Text Processing, Mokhtar Ebrahim

總結

以上所述是小編給大家介紹的Linx awk 入門教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

標簽:孝感 撫順 福州 巴中 晉城 蕪湖 綏化 南充

巨人網絡通訊聲明:本文標題《詳解Linx awk 入門教程》,本文關鍵詞  詳解,Linx,awk,入門教程,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解Linx awk 入門教程》相關的同類信息!
  • 本頁收集關于詳解Linx awk 入門教程的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲主播在线播放| 国产精品剧情在线亚洲| 爽爽淫人综合网网站| 欧美日韩国产小视频| 天天亚洲美女在线视频| 欧美电影免费观看高清完整版| 麻豆成人av在线| 国产婷婷色一区二区三区| 国产经典欧美精品| 亚洲欧洲日韩av| 欧美日韩在线一区二区| 日韩高清电影一区| 国产亚洲一区二区在线观看| 不卡av在线免费观看| 亚洲不卡在线观看| 久久久精品中文字幕麻豆发布| jlzzjlzz亚洲女人18| 亚洲不卡在线观看| 国产欧美日韩中文久久| 欧美色图激情小说| 精品一区二区影视| 亚洲欧美激情一区二区| 欧美福利电影网| 成人午夜在线视频| 午夜精品久久久久久久久| 国产亚洲精久久久久久| 欧美色综合久久| 国产一区二区影院| 一区二区三区精品在线观看| 精品嫩草影院久久| 91黄色在线观看| 精品一区二区免费| 亚洲另类在线视频| wwwwww.欧美系列| 91电影在线观看| 成人理论电影网| 奇米一区二区三区av| 成人免费在线观看入口| 日韩欧美卡一卡二| 欧美特级限制片免费在线观看| 国产成人亚洲综合色影视| 亚洲第一激情av| 国产精品视频看| 日韩三级中文字幕| 欧美综合久久久| 成人精品gif动图一区| 美女mm1313爽爽久久久蜜臀| 亚洲免费在线看| 久久精品视频在线看| 6080日韩午夜伦伦午夜伦| av成人免费在线观看| 久草这里只有精品视频| 亚洲高清中文字幕| 亚洲欧美精品午睡沙发| 欧美激情综合五月色丁香| 欧美精品一区二区三区高清aⅴ| 欧美浪妇xxxx高跟鞋交| 日本丶国产丶欧美色综合| 丁香桃色午夜亚洲一区二区三区| 精品在线一区二区| 美女脱光内衣内裤视频久久网站| 亚洲国产精品视频| 亚洲一区二区精品久久av| 亚洲精品中文字幕乱码三区| 国产精品久久久久久久午夜片| 久久香蕉国产线看观看99| 日韩欧美的一区二区| 日韩女优毛片在线| 欧美www视频| 精品国产欧美一区二区| 日韩午夜在线播放| 日韩免费在线观看| 欧美不卡在线视频| 欧美一区二区三区婷婷月色| 欧美一区二区三级| 欧美日本视频在线| 91精品国产麻豆| 精品国产亚洲在线| 久久久精品黄色| 中文字幕免费一区| 国产精品的网站| 一区二区三区久久久| 亚洲成人在线网站| 老司机午夜精品99久久| 韩国精品主播一区二区在线观看 | 成人午夜激情在线| 成人美女视频在线观看| a亚洲天堂av| 欧洲一区二区三区免费视频| 欧美日韩视频在线观看一区二区三区 | 欧美日韩精品久久久| 欧美视频在线观看一区| 欧美精品乱人伦久久久久久| 日韩欧美卡一卡二| 国产精品视频一二三区| 亚洲卡通动漫在线| 蜜桃av一区二区在线观看| 国产伦精品一区二区三区在线观看| 国产精品亚洲第一区在线暖暖韩国| 国产成人啪免费观看软件| 99r国产精品| 欧美日韩高清一区| 久久久美女毛片| 亚洲日本免费电影| 美女免费视频一区二区| 成年人网站91| 欧美日韩免费视频| 久久精品视频一区| 亚洲一级二级三级| 激情欧美一区二区| 色av成人天堂桃色av| 日韩一级完整毛片| 最新高清无码专区| 日日噜噜夜夜狠狠视频欧美人| 久久国产精品区| www.综合网.com| 6080国产精品一区二区| 国产精品每日更新| 首页国产欧美久久| 成人亚洲精品久久久久软件| 欧美日韩国产大片| 日本一区二区三区四区在线视频| 亚洲一区二区av在线| 国产+成+人+亚洲欧洲自线| 欧美高清hd18日本| 国产精品久久毛片| 美女一区二区三区在线观看| 日本精品一区二区三区四区的功能| 日韩精品一区国产麻豆| 亚洲精品国产无套在线观| 精品系列免费在线观看| 欧美系列日韩一区| 国产精品五月天| 美国三级日本三级久久99| 欧美在线观看视频在线| 欧美国产一区二区| 蜜臀av国产精品久久久久| 日本韩国精品在线| 国产精品久久久久久亚洲毛片| 精品在线你懂的| 欧美一区二区在线看| 一区二区三区鲁丝不卡| eeuss鲁片一区二区三区在线看| 欧美成人免费网站| 日韩黄色免费电影| 色欧美88888久久久久久影院| 国产亚洲一区二区三区四区| 久久99国产精品麻豆| 欧美一区二区三区啪啪| 五月天丁香久久| 欧美日韩国产色站一区二区三区| 国产精品欧美久久久久无广告 | 日韩视频免费观看高清完整版| 亚洲黄一区二区三区| www.亚洲色图| 国产精品天美传媒| 国产一区二区三区美女| 精品少妇一区二区三区免费观看 | 国产经典欧美精品| 久久伊人中文字幕| 国产一区视频网站| 精品人在线二区三区| 另类小说视频一区二区| 欧美高清精品3d| 日韩av一级片| 日韩一区二区三区免费观看| 日韩电影在线免费观看| 69堂国产成人免费视频| 青青草97国产精品免费观看无弹窗版 | 中文字幕第一区综合| 国产成人精品亚洲777人妖| 久久久精品日韩欧美| 国产99久久久国产精品免费看 | 亚洲免费资源在线播放| 日本精品一区二区三区高清 | 亚洲精品乱码久久久久久黑人| 成人sese在线| 自拍偷拍亚洲综合| 91色视频在线| 午夜精品一区二区三区免费视频| 色婷婷狠狠综合| 午夜精品一区在线观看| 91精品国产一区二区三区| 久久机这里只有精品| 久久九九影视网| 色综合天天综合网天天狠天天| 亚洲高清免费在线| 欧美xxxx老人做受| av男人天堂一区| 午夜精品久久久久久久| 精品日韩在线观看| 成人丝袜视频网| 亚洲国产日韩a在线播放| 日韩三级视频中文字幕| 成人免费视频视频在线观看免费| 亚洲老妇xxxxxx| 日韩免费高清av| 91色视频在线| 美女视频一区二区| 亚洲天天做日日做天天谢日日欢|