Linux:awk命令詳解
http://zhangge.net/1939.html
簡單使用:
awk :對於檔案中一行行的獨處來執行操作 。
awk -F :'{print $1,$4}' :使用‘:’來分割這一行,把這一行的第一第四個域打印出來 。
AWK命令介紹
awk語言的最基本功能是在檔案或字串中基於指定規則瀏覽和抽取資訊,awk抽取資訊後,才能進行其他文字操作,完整的awk指令碼通常用來格式化文字檔案中的資訊
1. 呼叫awk:
第一種命令列方式,如:
1 | awk[-Field-separator]'commands'input-file( |
這裡commands是真正的awk命令,[-F域分隔符]是可選的,awk預設使用空格分隔,因此如果要瀏覽域間有空格的文字,不必指定這個選項,但如果瀏覽如passwd檔案,此檔案各域使用冒號作為分隔符,則必須使用-F選項: awk -F : 'commands' input-file
第二種,將所有awk命令插入一個檔案,並使awk程式可執行,然後用awk命令直譯器作為指令碼的首行,以便通過鍵入指令碼名稱來呼叫它
第三種,將所有awk命令插入一個單獨檔案,然後呼叫,如:
1 | awk-fawk-script-fileinput-file |
-f選項指明在檔案awk-script-file的awk指令碼,input-file是使用awk進行瀏覽的檔名
2. awk指令碼:
awk指令碼由各種操作和模式組成,根據分隔符(-F選項),預設為空格,讀取的內容依次放置到對應的域中,一行一行記錄讀取,直到檔案尾
2.1. 模式和動作
任何awk語句都是由模式和動作組成,在一個awk指令碼中可能有許多語句。模式部分決定動作語句何時觸發及觸發事件。動作即對資料進行的操作,如果省去模式部分,動作將時刻保持執行狀態
模式可以是任何條件語句或複合語句或正則表示式,模式包含兩個特殊欄位BEGIN和END,使用BEGIN語句設定計數和列印頭,BEGIN語句使用在任何文字瀏覽動作之前,之後文字瀏覽動作依據輸入檔案開始執行;END語句用來在awk完成文字瀏覽動作後列印輸出文字總數和結尾狀態標誌,有動作必須使用{}括起來
實際動作在大括號{}內指明,常用來做列印動作,但是還有更長的程式碼如if和迴圈looping語句及迴圈退出等,如果不指明採取什麼動作,awk預設打印出所有瀏覽出的記錄
2.2. 域和記錄:
awk執行時,其瀏覽標記為$1,$2...$n,這種方法稱為域標記。使用$1,$3表示參照第1和第3域,注意這裡使用逗號分隔域,使用$0表示使用所有域。例如:
1 | awk'{print $0}'temp.txt>sav.txt |
表示列印所有域並把結果重定向到sav.txt中
1 | awk'{print $0}'temp.txt|teesav.txt |
和上例相似,不同的是將在螢幕上顯示出來
1 | awk'{print $1,$4}'temp.txt |
只打印出第1和第4域
1 | awk'BEGIN {print "NAME GRADE\n----"} {print $1"\t"$4}'temp.txt |
表示打資訊頭,即輸入的內容的第一行前加上"NAME GRADE\n-------------",同時內容以tab分開
1 | awk'BEGIN {print "being"} {print $1} END {print "end"}'temp |
同時列印資訊頭和資訊尾
2.3. 條件操作符:
<、<=、==、!=、>=、~匹配正則表示式、!~不匹配正則表示式
匹配:awk '{if ($4~/ASIMA/) print $0}' temp 表示如果第四個域包含ASIMA,就列印整條
精確匹配:awk '$3=="48" {print $0}' temp 只打印第3域等於"48"的記錄
不匹配: awk '$0 !~ /ASIMA/' temp 列印整條不包含ASIMA的記錄
不等於: awk '$1 != "asima"' temp
小於: awk '{if ($1<$2) print $1 "is smaller"}' temp
設定大小寫: awk '/[Gg]reen/' temp 列印整條包含Green,或者green的記錄
任意字元: awk '$1 ~/^...a/' temp 列印第1域中第四個字元是a的記錄,符號’^’代表行首,符合’.’代表任意字元
或關係匹配: awk '$0~/(abc)|(efg)/' temp 使用|時,語句需要括起來
AND與關係: awk '{if ( $1=="a" && $2=="b" ) print $0}' temp
OR或關係: awk '{if ($1=="a" || $1=="b") print $0}' temp
2.4. awk內建變數:
ARGC | 命令列引數個數 | NF | 瀏覽記錄的域個數 |
AGRV | 命令列引數排列 | NR | 已讀的記錄數 |
ENVIRON | 支援佇列中系統環境變數的使用 | OFS |
相關推薦Linux:awk命令詳解http://zhangge.net/1939.html 簡單使用: awk :對於檔案中一行行的獨處來執行操作 。 awk -F :'{print $1,$4}' :使用‘:’來分割這一行,把這一行的第一第四個域打印出來 。 linux文字處理三劍客(三):awk命令詳解簡介 awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。 awk有3個不同版本: awk、nawk和gaw Linux:at命令詳解計時 osi 執行 inux days pan 必須 man 一個 at命令 at命令為單一工作調度命令。at命令非常簡單,但是在指定時間上卻非常強大 語法 at [選項] time at > 執行的命令 ctrl+d 選項 -m :當指定的任務被 linux 之awk命令詳解數學函數 mat loop 多次 finished 數組結構 save pre 新的 awk是一種程序語言,對文檔資料的處理具有很強的功能。awk名稱是由它三個最初設計者的姓氏的第一個字母而命名的: Alfred V. Aho、Peter J. We i n b e rg Linux:echo命令詳解echo命令 用於字串的輸出 格式 echo string 使用echo實現更復雜的輸出格式控制 1.顯示普通字串: echo "It is a test" 這裡的雙引號完全可以省略,以下命令與上面例項效果一致: echo It i Linux:PS命令詳解與使用要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,ps命令就是最基本程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有殭屍、哪些程序佔用了過多的資源等等.總之大部分資訊都是可以通過執行該命令得到。ps是 【Linux】awk 命令詳解 01文章目錄 一、awk 介紹 二、語法格式 三、基本用法 1、每行按空格或TAB分割,並輸出文字中的第1、4項 2、格式化輸出 3、awk -F 指定分割字元 3.1 使用 ` , `分割 3. linux中awk命令詳解簡介awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本: awk、nawk和gawk,未作特別 Linux下awk命令詳解grep 或 egrep 或awk 過濾兩個或多個關鍵詞: grep -E ‘123|abc’ filename // 找出檔案(filename)中包含123或者包含abc的行 egrep ‘123|abc’ filename //用egrep同樣可以實現 awk linux指令碼 awk命令詳解轉載自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html 簡介 awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk Linux之awk命令詳解AWK介紹 0.awk有3個不同版本: awk、nawk和gawk,未作特別說明,一般指gawk。 1.awk語言的最基本功能是在檔案或字串中基於指定規則來分解抽取資訊,也可以基於指定的規則來輸出資料。完整的awk指令碼通常用來格式化文字檔案中的資訊。 2.三種方式呼叫awk 1) awk [opion] Linux的awk命令詳解簡介 awk是一個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。 awk有3個不同版本: awk、nawk和gaw 【轉】linux awk命令詳解column 環境變量 最後一行 工作流程 初始 文本文件 for循環 其中 cti 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切 [轉載]linux awk命令詳解基本 特定 收集 comm rip 解釋 文本 工作流程 復制代碼 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各 linux awk命令詳解列數 才會 遍歷數組 文本文件 信息 shell腳本 == game 入門 簡介 awk是一個強大的文本分析工具,相對於grep的查找,sed的編輯,awk在其對數據分析並生成報告時,顯得尤為強大。簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分 [轉]linux awk命令詳解分享 相同 list 等於 connected lis gin 顯示 大於等於 awk是行處理器: 相比較屏幕處理的優點,在處理龐大文件時不會出現內存溢出或是處理緩慢的問題,通常用來格式化文本信息 awk處理過程: 依次對每一行進行處理,然後輸出 awk命令形式: Linux三劍客值awk命令詳解數據處理 程序 package mysq regular 邏輯與 body 相同 導致 一、awk介紹 AWK是一種優良的文本處理工具。它不僅是 Linux 中也是任何環境中現有的功能最強大的數據處理引擎之一。這種編程及數據操作語言(其名稱得自於它的創始人 Alfred A Linux Shell指令碼程式設計 --awk命令詳解簡單使用: awk :對於檔案中一行行的獨處來執行操作 。 awk -F :'{print $1,$4}' :使用‘:’來分割這一行,把這一行的第一第四個域打印出來 。   Linux效能監控命令詳解:lsoflsof可以檢視當前系統所有的開啟檔案,在linux環境下,一切皆檔案,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體,如傳輸控制協議 (TCP) 和使用者資料報協議 (UDP) 套接字等,系統在後臺都為該應用程式分配了一個檔案描述符,檔案描述符提供了大量關於這個 Linux效能監控命令詳解:free在系統遇到各種IO瓶頸,記憶體使用率高,cpu使用率高等問題時,我們如何來定位錯誤?linux提供了很多命令來協助我們快速定位到錯誤,free命令是Linux最常用的命令之一:它可以檢視系統的記憶體狀況,包括伺服器的總記憶體,已經使用的記憶體和剩下未被使用的記憶體,以及緩衝區和快取各自佔用的 |