日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux之awk命令解读

發布時間:2025/3/20 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux之awk命令解读 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之所以叫 AWK 是因為其取了三位創始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。AWK 是一種處理文本文件的語言,是一個強大的文本分析工具。簡單來說awk就是把文件逐行讀入,(**空格**,**制表符**)為默認分隔符將每行切片,切開的部分再進行各種分析處理

awk命令格式如下:

awk [選項參數] 'script' var=value file(s) awk [選項參數] -f scriptfile var=value file(s) 選項參數說明:-F fs or --field-separator fs 指定輸入文件折分隔符,fs是一個字符串或者是一個正則表達式,如-F:。 -v var=value or --asign var=value 賦值一個用戶定義變量。 -f scripfile or --file scriptfile 從腳本文件中讀取awk命令。 -mf nnn and -mr nnn 對nnn值設置內在限制,-mf選項限制分配給nnn的最大塊數目;-mr選項限制記錄的最大數目。這兩個功能是Bell實驗室版awk的擴展功能,在標準awk中不適用。 -W compact or --compat, -W traditional or --traditional 在兼容模式下運行awk。所以gawk的行為和標準的awk完全一樣,所有的awk擴展都被忽略。 -W copyleft or --copyleft, -W copyright or --copyright 打印簡短的版權信息。 -W help or --help, -W usage or --usage 打印全部awk選項和每個選項的簡短說明。 -W lint or --lint 打印不能向傳統unix平臺移植的結構的警告。 -W lint-old or --lint-old 打印關于不能向傳統unix平臺移植的結構的警告。 -W posix 打開兼容模式。但有以下限制,不識別:/x、函數關鍵字、func、換碼序列以及當fs是一個空格時,將新行作為一個域分隔符;操作符**和**=不能代替^和^=;fflush無效。 -W re-interval or --re-inerval 允許間隔正則表達式的使用,參考(grep中的Posix字符類),如括號表達式[[:alpha:]]。 -W source program-text or --source program-text 使用program-text作為源代碼,可與-f命令混用。 -W version or --version 打印bug報告信息的版本。

這里具體來看看如何使用,結合實例進行介紹

1、輸出文件內容

這里以查詢內存信息為例,輸出文件功能通cat查詢功能

awk '{print}' /proc/meminfo

2、輸出指定列

由于awk中將空格作為分隔符對每行數據進行切片,因此awk處理后的數據可以理解為處理成了一個二維表格,將數據對應的填充進去.

[root@iv-yblf*****o22bl7 ~]# awk '{print $1}' /proc/meminfo MemTotal: MemFree: MemAvailable: Buffers: Cached: SwapCached: Active: Inactive:

可以看到輸出第一列中的數據

3、使用指定的分隔符

[root@iv-yblfbjnlokl8j1o22bl7 ~]# awk '{print}' /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin

輸出如上所示.指定分割符后輸出

awk -F ":" '{print $1,$3}' /etc/passwd root 0 bin 1 daemon 2

4、匹配代碼塊

awk '/MemFree/{print}' /proc/meminfo MemFree: 142320 kB awk '/MemFree/{printf "%d\n", $2}' /proc/meminfo 142272

//純字符匹配 !//純字符不匹配 ~//字段值匹配 !~//字段值不匹配 ~/a1|a2/字段值匹配a1或a2

參考:
https://www.cnblogs.com/sunshine-long/p/9295913.html
https://blog.csdn.net/guoer9973/article/details/44650729

總結

以上是生活随笔為你收集整理的linux之awk命令解读的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。