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用法
- Ubuntu 22.04/24.04 LTS 用 sed 快速換國內源Ubuntu
- linux之sedLinux
- LINUX命令-sedLinux
- Linux sed命令用法Linux
- linux之 sed命令Linux
- sed用法點滴
- linux sed學習Linux
- sed 修改檔案
- sed命令小記
- 運用sed命令高效地刪除檔案的特定行
- 三劍客之SED
- 【Linux篇】--sed的用法Linux
- Sed常用用法整理
- sed指令使用詳解
- Linux sed 命令詳解Linux
- Linux命令篇 - sed 命令Linux
- Linux命令-Sed用法教程Linux
- sed awk 編輯器
- [20201202]sed加行號.txt
- sed 將檔案反排
- sed命令語法詳解
- sed 命令詳解及示例
- Linux三劍客之sedLinux
- Linux 三劍客之sedLinux
- &符號在sed命令中使用符號
- grep sed 大批次替換字串字串
- Linux sed命令詳細說明Linux
- 指令碼三兄弟 grep、awk、sed指令碼
- sed命令簡單使用示例分享
- 高效而輕鬆的sed命令
- 如何在 Linux 上使用 GNU sedLinux
- 用sed從mysqldump全備檔案中取出某張表的表結構MySql
- Linux基礎命令---文字編輯sedLinux
- rpm與yum,at與crontab,sed命令使用
- Linux重要命之sed命令詳解Linux