基本用法:
$ awk '條件動作1 條件動作2 ...' filename
概述:
**1. awk為行處理字段,預設字段分割為空格 或 [tab] **
**2. 表示動作(command),條件型別置於 外,最後用單引號 ' ' 括住 **
**3. 當條件型別為if語句時,要置入動作內 **
**4. awk所有動作中,中,若有多個輔助命令,可用;或enter隔開 **
**5. awk可接受前個 command 的 standardoutput **
i.變數
變數名稱
代表意義
nf每一行擁有的字段總數
nr目前awk處理是第幾行
fs目前的分割字元,預設是空格
$0一整行資料
$1第乙個字段(第一列)
$2第二個字段(第二列)
$ last -n 5 | awk ''
# awk中變數需要大寫,非變數部分需要用雙引號
ii.條件型別
** 邏輯運算子(<;>;<=;>=;==;!=)**
$ cat /etc/passwd | awk ' $3 < 10 '
$ cat /etc/passwd | awk 'begin $3 < 10 '
# 關鍵字begin預先設定awk變數,否則在第二行才能生效
# 此處可看作兩個條件型別及兩個動作
iii.高階操作(條件及迴圈計算)
pay.txt檔案內容
name
1st2st
vbrid
230330
dmwr
450679
test
230112
計算每行的加總並顯示
$ cat pay.txt | \
awk 'nr==1
nr>=2'
$ cat pay.txt | \
awk '
nr>=2'
# 兩句內容一樣;條件型別可用if語句寫入到'{}'動作中
# printf 用法詳見prinf說明
# %s;%i;%f分別表示字串,整數,浮點數,其中浮點數的.佔一位數
awk所有動作中,中,若有多個輔助命令,可用;或enter隔開
迴圈計算待更新
本文為《鳥哥的linux私房菜基礎篇第三版》第12章部分學習筆記
awk擷取字段
file 期望每行刪除第二個 之前的內容,得到 isbctruncate 1 socialtime 1 nettype mobile isbctruncate 1 socialtime 1 nettype pc 我的處理方法是 awk f file 從第三個字元開始處理,並且以 為分隔符,因為最後乙...
awk多檔案處理
a.txt內容如下 a 150 b 200 c 100 b.txt內容如下 abcd a 12.5 bbbb b 35 cccc c 42 dddd d 21 想要通過a.txt b.txt得到ba.txt abcd a 12.5 150 bbbb b 35 200 cccc c 42 100 dd...
使用awk處理文字
在liux下我們經常需要對一些文字文件做一些處理,尤其像從日誌裡提取一些資料,這是我們一般會用awk工具和sed工具去實現需求,這裡對awk的入門使用簡單記錄。awk可以看作一種文字處理工具,一種專注資料操作的程式語言,乙個資料處理引擎。其名字 於三個發明者的姓名首字母。一般在liux下使用的awk...