sed 應用
awk '{print $1,$4}' test.txt 檢視第一列和第四列
awk '{printf "%-8s %-10s %-20s %-15s\n",$1,$3,$5,$6}' test 檢視1 3 5 6 列 並列印出間距格式(格式化輸出)
過濾記錄:awk '$3==0 && $6=="LISTEN"' test
選出第3列值為0並且第6列值為"LISTEN"
awk '$3>0 {print $0}' test 第3列值大於0的,$0---整行
awk '$3==0 && $6=="LISTEN" || NR==1' test NR表頭==1 第一行
'$3==0 && $6=="LISTEN" || NR==1 {printf "%-20s %-20s %s\n",$4,$5,$6}' test 加格式化輸出
說到了內建變數,我們可以來看看awk的一些內建變數:
$0當前記錄(這個變數中存放著整個行的內容)
$1~$n當前記錄的第n個欄位,欄位間由FS分隔
FS輸入欄位分隔符 預設是空格或Tab
NF當前記錄中的欄位個數,就是有多少列
NR已經讀出的記錄數,就是行號,從1開始,如果有多個檔案話,這個值也是不斷累加中。
FNR當前記錄數,與NR不同的是,這個值會是各個檔案自己的行號
RS輸入的記錄分隔符, 預設為換行符
OFS輸出欄位分隔符, 預設也是空格
ORS輸出的記錄分隔符,預設為換行符
FILENAME當前輸入檔案的名字
指定分隔符: awk 'BEGIN{FS=":"} {print $1,$3,$6}' /etc/passwd =root 0 /root
bin 1 /bin
daemon 2 /sbin
adm 3 /var/adm
lp 4 /var/spool/lpd
sync 5 /sbin
root 0 /root
bin 1 /bin
daemon 2 /sbin
adm 3 /var/adm
lp 4 /var/spool/lpd
sync 5 /sbin
shutdown 6 /sbin
halt 7 /sbin
awk -F: '{print $1,$3,$6}' OFS="\t" /etc/passwd
root 0 /root
bin 1 /bin
daemon 2 /sbin
adm 3 /var/adm
lp 4 /var/spool/lpd
sync 5 /sbin
awk -F '[;:]' 如果你要指定多個分隔符,你可以這樣來:
awk '$6 ~ /FIN/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt
第6列中帶有“FIN”的列,加首列原本行號,排列格式
awk '$6 ~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt
上面的第一個示例匹配FIN狀態, 第二個示例匹配WAIT字樣的狀態。其實 ~ 表示模式開始。/ /中是模式。這就是一個正規表示式的匹配。
我們可以使用 “/FIN|TIME/” 來匹配 FIN 或者 TIME :
awk '$6 ~ /FIN|TIME/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt
再來看看模式取反的例子: awk '$6 !~ /WAIT/ || NR==1 {print NR,$4,$5,$6}' OFS="\t" netstat.txt
相關文章
- Linux 中 sed 中xxx 的應用Linux
- Linux 中 sed命令 h和H選項的應用Linux
- sed 工具
- 文字處理的金剛鑽 —— sed (GNU/sed)
- Ubuntu 22.04/24.04 LTS 用 sed 快速換國內源Ubuntu
- sed命令小記
- sed 修改檔案
- linux sed 命令Linux
- sed 字串替換字串
- sed用法總結
- sed 命令專題
- linux sed命令Linux
- sed 簡明教程
- Sed Tips and Tricks
- Sed使用簡介
- sed command reviewView
- sed使用變數變數
- LINUX命令-sedLinux
- linux之sedLinux
- 運用sed命令高效地刪除檔案的特定行
- sed 將檔案反排
- Linux sed命令用法Linux
- sed指令使用詳解
- sed命令用法總結
- linux中sed用法Linux
- [shell基礎]——sed命令
- linux之 sed命令Linux
- LFCS 基礎:sed 命令
- SED 學習筆記筆記
- Linux sed TipsLinux
- linux之sed用法Linux
- sed學習筆記筆記
- sed命令使用詳解
- [linux]sed與awkLinux
- awk sed 用法詳解
- linux sed學習Linux
- Linux sed 命令詳解Linux
- Linux命令篇 - sed 命令Linux