羊崽學堂:shell編程16 awk命令簡單介紹

AWK 腳本語言 GNU 科技 羊崽 2017-04-26

接下來小編講講awk命令

awk命令在shell編程中非常重要,大家一定要學會它。

awk是一個強大的文本分析工具,在對文本文件的處理以及生成報表,awk是無可替代的。awk認為文本文件都是結構化的,它將每一個輸入行定義為一個記錄,行中的每個字符串定義為一個域(段),域和域之間使用分割符分割。

簡單來說awk就是把文件逐行的讀入,以空格為默認分隔符將每行切片,切開的部分再進行各種分析處理。

awk有3個不同版本:

awk、nawk和gawk,

未作特別說明,一般指gawk,gawk 是 AWK 的 GNU 版本。

工作原理:

awk 會把每行進行一個拆分,用相應的命令對拆分出來的“段”進行處理。

1 行工作模式,讀入文件的每一行,會把一行的內容,存到$0裡

2 使用內置的變量FS(段的分隔符,默認用的是空白字符),分割這一行,把分割出來的每個段存到相應的變量$(1-100)

3 輸出的時候按照內置變量OFS(out FS),輸出

4 讀入下一行繼續操作

使用方法:

awk '{pattern + action}' {filename}

其中 pattern 表示 AWK 在數據中查找的內容,

action 是在找到匹配內容時所執行的一系列命令。

花括號({})不需要在程序中始終出現,但它們用於根據特定的模式對一系列指令進行分組。

pattern就是要表示的正規表示法,用斜槓括起來。

awk語言的最基本功能是在文件或者字符串中基於指定規則瀏覽和抽取信息,awk抽取信息後,才能進行其他文本操作。完整的awk腳本通常用來格式化文本文件中的信息。

通常,awk是以文件的一行為處理單位的。awk每接收文件的一行,然後執行相應的命令,來處理文本。

先介紹到這裡,接下來會介紹具體的awk例子

喜歡的朋友就關注我吧

【羊崽學堂】【科技】【互聯網】

相關推薦

推薦中...