今天浩道跟大家分享关于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文章
212浏览量
34766 -
机器
+关注
关注
0文章
784浏览量
40765
原文标题:【肝货】linux三剑客之awk高效命令集锦!
文章出处:【微信号:浩道linux,微信公众号:浩道linux】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论