歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> AWK 簡介和例子

AWK 簡介和例子

日期:2017/2/28 14:55:40   编辑:Linux教程

本文分為兩個部分:1 基本觀點和概念;2 AWK 文本解析的例子。

基本觀點和概念:

1 AWK 是一種用於處理文本的編程語言工具。

2 AWK 命令格式:AWK ‘{pattern+action}’ 或者是AWK 'pattern {action}'

3 action 參數總是被大括號包圍,它由一系列awk語句組成,每個語句之間用;號分割.awk解釋他們,並在pattern給定的樣式匹配的記錄上執行其操作。

4 注釋#

5 awk 不修改輸入文件,如果未指定輸入文件,awk將接受標准輸入,並將結果顯示在標准輸出上。awk支持輸入輸出重定向。

6 在awk中,缺省情況下總是將文本文件的一行視為一個記錄,而將一行中的某一個部分視為一個字段。

7 awk用0表示整行,不同的字段之間用分割符分開,系統某人的分割符是空格。

8 awk提供兩種變量:內置變量和自定義變量。

9 任何在BEGIN 之後列出的操作將在awk開始掃描輸入之前執行,END之後列出的操作將在掃描完全部的輸入之後執行。

10 awk比C語言更為靈活,它不執行參數的有效性檢查。

11 awk有兩種返回方式:隱士返回和顯示返回(return)。

12 awk可以作為一個SHELL命令使用,awk能與shell批處理程序很好的融合在一起。


AWK文本解析的例子:

#以|為分割符,獲得aaaa文件中的第一字段和第三字段的內容,|需要轉意

awk -F \| '{print $1,$3}' aaaa

#以|為分割符,獲得aaaa文件中的第二字段和第七字段的內容,保存到bbbb文件中(追加的方式)

awk -F \| '{print $2,$7>>"bbbb"}' aaaa

#以|為分割符,獲得aaaa文件中的第二字段和第七字段的內容,保存到bbbb文件中(覆蓋的方式)


awk -F \| '{print $2,$7>>"bbbb"}' aaaa

#以|為分割符(包括讀的分割符和寫的分割符),獲得aaaa文件中的第二字段和第七字段的內容,保存到bbbb文件中(追加的方式)


awk 'BEGIN{FS="|";OFS="|"} {print $2,$7>>"bbbb"}' aaaa

Copyright © Linux教程網 All Rights Reserved