范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Linux入门系列awk命令详解

  awk是一个强大的文本分析工具,与grep、sed相比,awk在对数据分析并生成报告时,显得有很大的优势。
  awk有三个不同的版本:awk、nawk和gawk,在没有做特殊说时的时候默认的就是gawk,gawk是awk的GNU版本。使用方法awk [options]  "{pattern + action}" filenamepattern表示awk在数据中查找的内容;action是在找到匹配的内容时,需要执行的一系列命令;当有多个命令的时候,每个命令之间必须使用";"分隔开;filename表示等待处理的文件;调用awk的三种方式命令行方式awk [-F field-separator] "command"  filename
  其中command是真正的awk命令,-F表示域的分隔符,是个可选项。Filename是等待处理的文件shell脚本方式
  将所有的awk命令写入到一个文件,并使用该文件有X权限,然后awk命令解释器作为脚本的首行,也就是说可以把脚本最开始的#!/bin/bash 换成#!/bin/awk
  最后直接执行这个脚本文件就行了。将所有的awk命令插入到一个单独的文件中,然后使用-f来调用awk –f awk-script-file filename
  -f 指定要加载的awk脚本,是一个文件。Filename是等待处理的文件入门实例显示/etc/passwd文件中的用户名[root@apache ~]# awk -F ":" "{print $1}" /etc/passwd root bin daemon adm ……
  awk的工作流程是这样的:读入一行后(最后面带有" "的),就按-F指定的分隔符来将该行划分成N个区域,$0表示所有的区域,$1表示第一个域,$2表示第二个域,依此类推,$n表示第n个域。 显示/etc/passwd文件中的用户名与其shell,用户名和shell之间使用逗号来分割,并且在所有列的最前面加上Name和Shell,在最后一行打印"----END----":[root@apache ~]# head -5 /etc/passwd | awk -F: "BEGIN{print "Name,Shell"} {print $1","$7} END{print "----END----"}" Name,Shell root,/bin/bash bin,/sbin/nologin daemon,/sbin/nologin adm,/sbin/nologin lp,/sbin/nologin ----END---- [root@apache ~]#
  总结:awk先执行BEGIN内的命令,然后再读入文件中的行,接着就是按照指定的分隔符将该行分成N个区域,然后再来执行模式所对应的动作action。然后,再来读入第二行…再重复执行action,直到所有的行都处理完成。最后再执行END中的命令。 搜索/etc/passwd文件中含有"root"的所有行,并显示其shell[root@apache ~]# awk -F: "/root/{print $1,$7}" /etc/passwd root /bin/bash operator /sbin/nologin [root@apache ~]#
  注意:"//"之间是支持正则表达式的,如果此处只有pattern,而没有action,那么awk默认会把匹配到的行打印出来。[root@apache ~]# awk "/root/" /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@apache ~]#  [root@apache ~]# awk -F: "/^root/{print $1,$7}" /etc/passwd root /bin/bash [root@apache ~]#awk内置变量
  ARGC
  命令行中参数的个数
  ARGV
  命令行参数排列
  ENVIRON
  支持队列中系统环境变量的使用
  FILENAME
  Awk正在处理的文件名称
  FNR
  浏览文件的记录数
  FS
  设置域分隔符,等价于"-F"选项 Field Separator
  NF
  浏览记录(行)的域的个数;[number of field 当前行划分的字段总数]
  NR
  已读的记录(行)的数量[number of records 所有行,也就是如果有多个文件的话,这个是个总数]
  FNR
  如果只有一个文件作为输入,那么就是在这个文件中已经处理的行数;[file ]
  OFS
  输出域分隔符 (Output Field Separator)
  ORS
  输出记录分隔符(Output Row Separator)
  RS
  控制记录分隔符(Record Separator)显示awk处理的文件名、每行的行号、每行的列数、以及对应行的全部内容:(以/etc/passwd文件为例子)[root@apache ~]# awk -F: "{print "Filename:" FILENAME,"LNO." NR,"CNO." NF,"Content:" $0}" /etc/passwd Filename:/etc/passwd LNO.1 CNO.7 Content:root:x:0:0:root:/root:/bin/bash Filename:/etc/passwd LNO.2 CNO.7 Content:bin:x:1:1:bin:/bin:/sbin/nologin Filename:/etc/passwd LNO.3 CNO.7 Content:daemon:x:2:2:daemon:/sbin:/sbin/nologin Filename:/etc/passwd LNO.4 CNO.7 Content:adm:x:3:4:adm:/var/adm:/sbin/nologin Filename:/etc/passwd LNO.5 CNO.7 Content:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  awk中的print还可以使用C语言中的printf来替代。在输出格式比较复杂的时候使用printf函数会比print函数要更直观一些,如下:[root@apache ~]# awk -F: "{printf("%d ",NR)}" /etc/passwd
  统计/etc/passwd下面的人数:[root@apache ~]# awk -F: "BEGIN{count=0;} {count++;} END{printf("Total user is %d ",count)}" /etc/passwd Total user is 36 [root@apache ~]#
  还可以使用-v key=value来自定义变量。如下:[root@apache ~]# awk -v test="hello" "BEGIN{print test}" hello [root@apache ~]#条件语句:
  awk中的条件语句是从C中借鉴过来的
  语法:if (condition) {then-body} else {else-body}
  例如使用awk来统计某个目录下的普通文件的大小,不包括子目录的,并过滤掉目录。[root@apache ~]# ll|awk "BEGIN{size=0;}{if($5 != 4096){size+=$5}}END{print "Total:" size/1024 "K"}" Total:494.438K [root@apache ~]#循环语句:
  循环语句也和C中的一样,支持while、do/while、for、continue、break等关键字。while (condition) {statement1;statement2}  do {statement} while()  for (i=0;i<=9;i++) {statement}  for (i in array) {statement}
  break和continue常用于循环中;使用数组来显示/etc/passwd中的用户,格式为:User:root
  在awk中,数组的下标可以是数字或字母。一般awk中的数组的作用是从记录中收集信息,用于计算总和、统计单词等。[root@apache ~]# awk -F: "BEGIN{k=0;}{name[k]=$1;k++}END{for(i=0;i y x >= y x == y x != y x ~ y 匹配,x能被正则表达式y匹配到,为真 x !~ y 不匹配, subscript in array 在指定的数组array中如果有subscript则为真逻辑关系:&& 与 || 或 ! 非三目表达式:selector?if-true-exp:if-false-exp
  更多请参见awk官方文档[http://www.gnu.org/software/gawk/manual/gawk.html]

三匹变频空调每小时会耗多少电?有什么科学依据?夏季的时候很多家庭办公室商场等室内都会通过空调进行消暑,不同于办公室用的中央空调,家庭里面用的空调都是小匹数的。客厅卧室都会安装空调,空调数量越多的话所用的电量就会越大。有些家庭安iPhone12价格瞬间跳水500元,网友这可能只是降价的开始苹果发布会刚刚结束,新一代iPhone13起售价格来到了5999元,这让目前零售渠道售价在5999元的iPhone12显得十分分的尴尬,电商渠道立马进行了调价,以某东为例一夜之间降被执行总金额达94。82亿元!再添新债的贾老板翻身无望?9月14日,根据企查查数据显示,贾跃亭新增一项被执行人信息,执行法院为深圳市中级人民法院,执行标的为4。56亿元,关联案件案由为金融借款合同纠纷。企查查风险信息显示,目前贾跃亭共有手机曲面屏和平面屏哪个好?平面屏手机没什么好说。如果你可以接受曲屏的缺点,那对你来说就是曲屏更好。曲屏手机优缺点分析优点1曲面屏可以使手机的弧线形外观更美,就像人们偏爱流线型汽车外观圆弧轮廓手机一样,符合现iphone13新品发布完全不按套路出牌,你怎么能这样呢?图片来于网络手机,在这个单独的载体里它也有一个属于它们的江湖。烽烟四起,都想着逐鹿中原。一年一度的手机盛会,苹果2021秋季发布会已经如约而至,给我们带来了全新的iPhone13系新品发布了,股价跌了,苹果未来会被国产机吊打吗?把时间拉长至十年来看,智能手机显然不能再作为核心增长引擎了。北京时间9月15日凌晨,苹果秋季新品发布会正式召开。苹果发布iPhone13新款iPad和AppleWatchSerie新零售时代,无人货架线上便利店,你会选择哪一个?开便利店你一定要知道的事,以及什么是新零售。如今新零售的概念已经被广泛接受,在新零售的概念的影响下中国的零售业也在发生着变化。比如作为新零售模式的代表盒马鲜生是阿里巴巴对线下超市完工信部重点整治屏蔽网址链接,个人是否可以起诉微信?抖音2月向北京知识产权法院起诉腾讯垄断,主张腾讯通过微信和QQ限制用户分享来自抖音的内容,构成了反垄断法所禁止的滥用市场支配地位,排除限制竞争的垄断行为,要求法院判令腾讯停止这一行华为Nova3手机支持不支持nfc,值得入手吗?不值得灵光一闪华为Nova3五年前的机子,早就停产了,这款机子是华为收款只用自研具有Ai人工智能的芯片麒麟970,22四摄,成像效果不错,但没有防抖功能,没有nfc。停产机型,不值i54570想升i74790性能有大的提升吗?有一定的提升,不显著。毕竟三代内存的平台频率低了没有i54570,但是恰巧家里和单位的电脑都是四代CPU。i341704150,i74790都在用。内存都是8G,硬盘是固态,系统是一个40多岁的公务员,玩不转一个智能手机。你相信吗?不相信。一个才40多岁的公务员,人年青,有知识有文化,见多识广,接受新东西快,怎么会玩不转一个智能手呢?除了他是智障公务员,脑残。现在六七十岁老人玩智能手机的多的是。只要眼不花,脑
节能环保!触摸一体机厂家5大技术值得关注电子专业生产触摸一体机,已有超过5年的历史之久,已经成为了触摸一体机行业的知名品牌。各个不同行业的很多用户在选购使用过创新维的工业触摸一体机后,基本都挺满意的,不管是产品质量还是服苹果官方售后都在用的刷机教程,你不来学一手不知道有多少朋友碰到过不记得开机密码是多少,又或者手机正常使用的时候碰到如下图的问题从而不得不到手机店花点钱刷机。其实刷机是个挺简单的事,家里有电脑就可以自己操作。首先我们要在电脑一分钟资讯苹果华为三星realme荣耀,最新消息哈喽,我是毛小毛。关注我,每日带你了解最新数码资讯!一分钟资讯第114期,感谢你的阅读。我国5G手机终端连接数达3。92亿户近日,有关部门公布了今年前7月我国通信业经济运行情况。数路边交易的苹果手机居然是模型机昨晚室友回来拿出苹果手机非常兴奋的向我们炫耀,他说今晚遇到一个傻子300块交易一个苹果X手机,看着他如此兴奋我们也是羡慕。高兴过头的他抓起床头上的安卓TYPEC充电插头插苹果手机上难怪苹果手机60Hz刷新率比安卓手机的120Hz还流畅,这几点很重要近年来安卓手机厂商开始追求高刷新率的屏幕,从60Hz到90Hz再到120Hz,甚至144Hz,但无论是iPhone11还是iPhone12仍然保持着60Hz屏幕刷新率,视觉观感一点国行iPhone苹果官网提示国外购买,这是什么新套路?网友某宝入手了一台iPhone11,成色极品,验机报告全绿。但他总觉得这台iPhone11有问题,像是翻新机。于是在官网查了一下基本信息,居然显示外国购买?这是怎么回事?明明是国行苹果iPhone手机的刘海屏要走到底了!屏幕指纹测试后被放弃在小米MIX一代引领全面屏后,全面屏成为了近年来智能手机的潮流设计,而且这么多年一路发展下来,全面屏的进步是肉眼可见的大,从早期的窄额头窄下巴到刘海屏水滴屏和挖孔屏,再到现在的屏下越狱是什么意思?苹果手机越狱之后有什么好处跟坏处?使用过苹果手机的小伙伴们肯定对越狱这个词并不陌生,那么越狱到底是什么意思呢?当我们拿自己的iPhone去越狱之后到底又有什么好处和坏处呢?究竟值不值得我们去越狱?一越狱(makem超窄边框66W!荣耀X20上手评测好看又能打的潮流之作一直以来,人类都是视觉动物,喜欢看脸,喜欢一切美好的事物,是人类的天性。对于广大用户来讲,选择手机产品的第一步,还是看这款手机的颜值如何。值得一提的是,手机厂商也了解用户的需求,不aigo国民好物固态硬盘P3000安装指南,操作简单即插即用最近,很多小伙伴纷纷私信说固态硬盘该如何安装,看来大家对我平时介绍的固态硬盘开始心动了,这是一件好事情,能让自己的电脑提速,谁会不喜欢呢?刚好我到手了一块aigo国民好物固态硬盘P摘掉鸡肋产品标签,荣耀平板V7Pro评测,手写笔和键盘是亮点荣耀一次次刷新人们对安卓平板的潜力认知,去年推出高性能的生产力工具荣耀V6,如今又发布了旗舰荣耀平板V7Pro。从产品设计意图来看,荣耀对平板的展望已经不甘在娱乐工具层次发展,而是