#1、打印挂载目录的使用量,默认以空格为分割

df -Ph | awk '{ print $5,$6 }'

#2、以空格、冒号、\t、分号为分割

awk -F '[ :\t;]' '{print $1}'

#3、打印6.txt文件中的第3行至第5行,NR表示打印行,$0表示文本所有域

awk 'NR==3,NR==5 {print}' 6.txt
awk 'NR==3,NR==5 {print $0}' 6.txt

#打印6.txt文件中的第3行至第5行的第2列与第4列

awk 'NR==3,NR==5 {print $2,$4}' 6.txt

#打印7.txt文件中,长度大于6的行号和内容

awk 'length($0)>6 {print NR,$0}'

#以冒号切割,打印第一列同时只显示前5行:

cat /etc/passwd|head -5|awk -F: '{print $1}'
awk -F: 'NR>=1&&NR<=5 {print $1}' /etc/passwd

#NR行号除以2余数为0则跳过该行,继续执行下一行,打印在屏幕:

awk 'NR%2==0 {next} {print NR,$0}' 7.txt

#4、引用Shell变量,使用-v或者双引号+单引号即可:

awk -v STR=hello '{print STR,$NF}' 7.txt
STR="hello";echo| awk  '{print "'${STR}'";}'

#5、指定文件jfedu.txt第一列的总和:

cat 7.txt |awk '{sum+=$1}END{print sum}'
awk '{sum+=$1}END{print sum}' 7.txt

#6、添加自定义字符:

ifconfig  eth0|grep "Bcast"|awk '{print "ip_"$2}'
awk -F: '{print "UserName:" $1 }' /etc/passwd

#7、格式化输出passwd内容,printf打印字符串,%格式化输出分隔符,s表示字符串类型,-12表示12个字符,-6表示6个字符:

awk -F:  '{printf "%-12s %-6s %-8s\n",$1,$2,$NF}'  /etc/passwd

#OFS输出格式化\t:

netstat -an|awk '$6 ~ /LISTEN/&&NR>=1&&NR<=10 {print NR,$4,$5,$6}' OFS="\t"

#8、awk与if组合实战,判断数字比较

echo 3 2 1 | awk '{ if(($1>$2)||($1>$3)) { print $2} else {print $1} }'

#9、awk与数组组合实战,统计passwd文件用户数

awk -F: 'BEGIN {count=0;} {name[count] = $1;count++;}; END{for (i = 0; i < NR; i++) print i, name[i]}'  /etc/passwd

#10、awk分析Nginx访问日志的状态码404、502等错误信息页面,统计次数大于20的IP地址。

awk '{if ($9~/502|499|500|503|404/) print $1,$9}' access.log|sort|uniq –c|sort –nr | awk '{if($1>20) print $2}'

#11用/etc/shadow文件中的密文部分替换/etc/passwd中的"x"位置,生成新的/tmp/passwd文件。

awk 'BEGIN{OFS=FS=":"} NR==FNR{a[$1]=$2}NR>FNR{$2=a[$1];print >>"/tmp/passwd"}' /etc/shadow /etc/passwd

#12、awk统计服务器状态连接数:

netstat -an | awk '/tcp/ {s[$NF]++} END {for(a in s) {print a,s[a]}}'
netstat -an | awk '/tcp/ {print $NF}' | sort | uniq -c

#13、获取eth0的IP地址

ifconfig  eth0|grep "Bcast"|awk '{print $2}' | awk -F: '{print $2}'

#14、在输出的开头和结尾添加输出

#在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"

awk  -F ':'  'BEGIN {print "name,shell"}  {print $1"---"$7} END {print "blue,/bin/nosh"}' /etc/passwd

#15、找出不允许登录的系统用户

awk -F : '/nologin/{print $1}' /etc/passwd

#16、找出root组的用户

awk -F: '$4 ==0 {print "The user of group root:" $1}' /etc/passwd

转载于:https://blog.51cto.com/belbert/1960040

shell awk 的一些用法相关推荐

  1. linux shell awk 中 printf 用法

    目录 printf 简介 printf 转义字符 printf 修饰符 printf 格式说明符 示例1 示例2 示例3 printf 简介 打印输出时,可能需要指定字段间的空格数,从而把列排整齐.在 ...

  2. Shellz中awk的简单用法

    其实shell脚本的功能常常被低估.在实际应用中awk sed 等用法可以为shell提供更为强大的功能.下面我们将一下awk调用的简单方法进行了总结.方便同学们学习: awk的简单用法: 第一种调用 ...

  3. linux 脚本map,shell中map的用法

    ##实例代码 #!/bin/bash cat ./switchsql.txt | while read line do tmp_partition_name=`echo $line | awk -F ...

  4. linux shell awk 语法

    引用:http://blog.csdn.net/weekly123/article/details/1465675 inux shell awk 语法     Awk 是一种非常好的语言,同时有一个非 ...

  5. shell实例第22讲:shell中分隔符IFS用法

    shell中分隔符IFS用法 1.什么是IFS? IFS在shell中是分隔符的意思,即IFS这个变量中存放了分隔符. 2.IFS是全局变量还是局部变量? (1)linux中变量分两种:全局变量env ...

  6. Shell awk文本处理,shell脚本编写

    Shell awk文本处理,shell脚本编写 一:内容包含awk.变量.运算符.if多分支 <a>语法糖: awk [options] 'commands' files option - ...

  7. linux here用法,linux shell的here document用法(cat EOF)

    什么是Here Document? Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Doc ...

  8. Linux Shell脚本入门教程系列之(九)Shell判断 if else 用法

    本文是Linux Shell脚本系列教程的第(九)篇,更多shell教程请看:Linux Shell脚本系列教程 判断语句是每个语言都必不可少的关键语法,Shell命令当然也不例外.继上一篇之后,今天 ...

  9. linux awk拼接字符串,shell awk命令字符串拼接

    摘要 腾兴网为您分享:shell awk命令字符串拼接,智联招聘,心视界,同花顺,手机管家等软件知识,以及一师一优课一课一名师登录,去视频水印,防沉迷解除,兼职猫招聘网,c4d渲染插件,社会实践活动登 ...

最新文章

  1. java digester_Digester
  2. 一个好域名的作用和价值
  3. python正规教育机构-长沙python培训机构哪家好
  4. logging通过配置文件设置同时输出到终端与文件
  5. 熊猫烧香是天才作品吗?
  6. Pytest标记预期失败得测试用例@pytest.mark.xfail()
  7. ssm如何支持热部署_IntelliJ IDEA基于SpringBoot如何搭建SSM开发环境
  8. php 异步执行脚本,PHP语言实现脚本异步执行_PHP教程
  9. linux如何实现c语言程序,在Linux下如何利用C语言来实现一个Sniffer
  10. 对于xfire动态调用webservice接口
  11. QTreeView使用总结: 自定义model示例,大大优化性能和内存
  12. 中国石油大学(北京)-《 公共社交礼仪 》-​​​​​​​第二阶段在线作业
  13. 微信公众号菜单栏链接开发
  14. linux之OPERATION(运维)一
  15. 基于STM32F4的CANOpen移植教程(超级详细)
  16. Kali使用apt-cache search搜索想要的软件包
  17. 集束搜索BeamSearch
  18. 【单片机】Android手机USB外接STM32单片机通过ADB实现投屏反向控制的功能
  19. 要怎么在计算机里清除桌面内存,怎么清理运行内存占用_怎么清理电脑运行内存-win7之家...
  20. 开源好物分享!文档在线预览平台

热门文章

  1. 线程同步 – lock和Monitor
  2. URL重写:RewriteCond指令与RewriteRule 指令格式(转)
  3. JavaScript 中的return true 和return false
  4. 使用结构、数组、循环和DataGridView写的分数统计小程序
  5. 用c语言找出第123个素数,在C语言中查找第N个素数
  6. 是什么牌子_电暖气片什么牌子好
  7. XamarinAndroid组件教程RecylerView适配器设置动画示例
  8. php监控nginx,Zabbix添加nginx-php监控
  9. layui 自定义排序_浅谈layui中table的sort排序
  10. java如何定义一个接口inf_java.抽象、接口