今天浩道跟大家分享關于linux三劍客之一的awk相關的高效命令集錦!
刪除temp文件的重復行
awk'!($0inarray){array[$0];print}'temp
查看最長使用的10個unix命令
awk'{print$1}'~/.bash_history|sort|uniq-c|sort-rn|head-n10
查看機器的ip列表
ifconfig-a|awk'/Bcast/{print$2}'|cut-c5-19
查看機器的每個遠程鏈接機器的連接數
netstat-antu|awk'$5~/[0-9]:/{split($5,a,":");ips[a[1]]++}END{for(ipinips)printips[ip],ip|"sort-k1-nr"}'
查看某個進程打開的socket數量
psaux|grep[process]|awk'{print$2}'|xargs-I%ls/proc/%/fd|wc-l
查看無線網絡的ip
sudoifconfigwlan0|grepinet|awk'NR==1{print$2}'|cut-c6-
批量重命名文件
find.-name'*.jpg'|awk'BEGIN{a=0}{printf"mv%sname%01d.jpg
",$0,a++}'|bash
查看某個用戶打開的文件句柄列表
forxin`ps-u500u|grepjava|awk'{print$2}'`;dols/proc/$x/fd|wc-l;done
計算文件temp的第一列的值的和
awk'{s+=$1}END{prints}'temp
查看最常用的命令和使用次數
history|awk'{if($2=="sudo")a[$3]++;elsea[$2]++}END{for(iina){printa[i]""i}}'|sort-rn|head
查找某個時間戳的文件列表
cp-p`ls-l|awk'/Apr14/{print$NF}'`/usr/users/backup_dir
格式化輸出當前的進程信息
ps-ef|awk-vOFS="
"'{for(i=8;i<=NF;i++)?line?=?(line???line?FS?:?"")$i;printNR":",$1,$2,$7,line,"";line=""}'
查看輸入數據的特定位置的單個字符
echo"abcdefg"|awk'BEGIN{FS="''"}{print$2}'
打印行號
ls|awk'{printNR" "$0}'
打印當前的ssh 客戶端
netstat-tn|awk'($4~/:22s*/)&&($6~/^EST/){printsubstr($5,0,index($5,":"))}'
打印文件第一列不同值的行
awk'!array[$1]++'file.txt
打印第二列唯一值
awk'{a[$2]++}END{for(bina){printb}}'file
查看系統所有分區
awk'{if($NF~"^[a-zA-Z].*[0-9]$"&&$NF!~"c[0-9]+d[0-9]+$"&&$NF!~"^loop.*")print"/dev/"$NF}'/proc/partitions
查看2到100所有質數
fornumin`seq2100`;doif[`factor$num|awk'{print$2}'`==$num];thenecho-n"$num";fidone;echo
查看第3到第6行
awk'NR>=3&&NR<=?6'/path/to/file
逆序查看文件
awk'{a[i++]=$0}END{for(j=i-1;j>=0;)printa[j--]}'
打印99乘法表
seq9|sed'H;g'|awk-vRS='''{for(i=1;i<=NF;i++)printf("%dx%d=%d%s",i,NR,i*NR,i==NR?"
":" ")}'
審核編輯 :李倩
-
Socket
+關注
關注
0文章
211瀏覽量
34637 -
機器
+關注
關注
0文章
779瀏覽量
40687
原文標題:【肝貨】linux三劍客之awk高效命令集錦!
文章出處:【微信號:浩道linux,微信公眾號:浩道linux】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論