Linux三劍客--awk命令詳細示例

前言:

awk作爲Linux三劍客之一,是一個功能強大的編輯工具,用於文本處理。

一、awk的語法

1.awk有兩種語法格式

(1)awk 選項 ‘模式或條件 {指令}’ 文件
模式可以爲條件語句或正則表達式;每條指令可以包含多條語句,多條語句使用逗號或空格來分隔“{}”;常用的選項-F用來指定分隔符,默認空格
(2)awk -f 腳本文件 文件

2.awk常見內置變量
變量 解釋
FS 指定字段分隔符,默認空格
NF 當前處理行的字段個數
NR 當前處理行的行號
$0 當前處理行的整行內容
$n 當前處理行的第n個字段
3.awk還能使用運算符作爲條件
運算符 解釋
> 大於
< 小於
>= 大於等於
<= 小於等於
== 等於
!= 不等於
+
-
*
/
% 取餘
^ 乘方

二、awk使用示例

1.顯示處理文件的所有內容(相當於cat)

awk '{print $0}' file

2.顯示以XXX開頭的行

awk '/^XXX/ {print}' file

3.顯示以XXX結尾的行

awk '/XXX$/ {print}' file

4.顯示第N行到第M行

awk 'NR==N,NR==M{print}' file
awk '(NR>=1)&&(NR<=3){print}' file

5.顯示N行和M行的內容

awk '(NR==1)||(NR==3){print}' file

6.顯示奇數行

awk '(NR%2)==1{print}' file

7.顯示偶數行

awk '(NR%2)==0{print}' file

8.顯示第n個字段小於X的行

awk -F '!($N < X)' file

9.顯示處理文本的行號

awk -F '{print NR,$0}' file

10.顯示第3行到第7行中以冒號爲分隔符的第1列和第7列的內容

awk -F ":" 'NR==3,NR==7{print$1,$7}' file

在這裏插入圖片描述
11.保留原來的格式,輸入以冒號爲分隔,文件中的前4個字段

awk -F ":" '{print $1,$2,$3,$4}' file

在這裏插入圖片描述
12.顯示已冒號爲分隔符的第1列第3列數據

awk -F ":" '{print$1,$3}' file

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章