分享好友 最新动态首页 最新动态分类 切换频道
正则表达式(awk、sort 、uniq 、tr 工具)
2024-12-27 17:18

正则表达式(awk、sort 、uniq 、tr 工具)

awk 选项 ‘模式或条件{编辑命令}’ 文件1 文件2…. //过滤并输出文件中符合条件的内容
awk -f 脚本文件 文件1 文件2… //从脚本中调用的编辑指令,过滤并输出内容

awk包含几个特殊的内建变量(可直接用)如下所示

FS:指定每行文本的字段分隔符,默认为空格或制表位
NF:当前处理的行的字段个数
NR:当前处理的行的行号(序数
$0:当前处理的行的整行内容
$n:当前处理的行的第n个字段(第n列; FILENAME:被处理的文件名
RS:数据记录分隔,默认为 ,即每行为一条记录。

1、按行输出文本

输出所有内容,等同于cat test.txt

awk ‘{print}’ test.txt

输出所有内容,等同于cat test.txt

awk ‘{print $0}’ test.txt

输出第1~3行内容

awk ‘NR1,NR3{print}’ test.txt

输出第1~3行内容

awk ‘(NR>=1)&&(NR<=3){print}’ test.txt

输出第1行,第3行的内容

awk ‘NR1||NR3{print}’ test.txt

输出所有奇数行的内容

awk ‘(NR%2)==1{print}’ test.txt

输出所有偶数行的内容

awk ‘(NR%2)==0{print}’ test.txt

输出以root开头的行

awk ‘/^root/{print}’ /etc/passwd

输出以nologin结尾的行

awk ‘/nologin$/{print}’ /etc/passwd

统计以/bin/bash结尾的行数,等同于grep –c “/bin/bash$” /etc/passwd

awk ‘BEGIN {x=0};//bin/bash$/{x++};END {print x}’ /etc/passwd

5.1.11统计以空行分隔的文本段落数
awk ‘BEGIN {RS=””} ;END{print NR}’ test.txt

2、按字段输出文本

输出每行中(以空格或制表符分隔)的第三个字段

awk ‘{print $3}’ test.txt

输出每行中第1,3个字段

awk ‘{print $1,$3}’ test.txt

输出密码为空的用户的shadow记录

awk -F ”:” ‘$2==””{print}’ /etc/shadow

输出密码为空的用户的shadow记录

awk ‘BEGIN {FS=”:”} ; $2==””{print}’ /etc/shadow

输出以冒号分隔且第7个字段中包含/bash的行的第一个字段

awk -F ”:” ‘$7~”/bash”{print $1}’ /etc/shadow

输出包含8个字段且第一个字段中包含nfs的行的第1,2个字段

awk ‘($1~”nfs”)&&(NF==8){print $1,$2}’ /etc/services

输出第七个字段既不为/bin/bash也不为/sbin/nologin的所有行

awk -F “:” ‘($7 != “/bin/bash”)&&($7 != “/sbin/nologin”){print}’
/etc/passwd

3、通过管道、双引号调用Shell命令

调用wc –l命令统计使用bash的用户的个数,等同于grep –c “bash$ ”

/etc/passwd
awk -F: ‘/bash $/{print | “wc -l”}’ /etc/passwd

调用w命令,并用来统计在线用户数

awk ‘BEGIN {while (“w” | getline) n++ ; {print n-2}}’

调用hostname,并输出当前主机名

awk ‘BEGIN {“hostname” | getline ; print $0}’

sort是一种以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序

用法:sort命令的语法为“sort [选项] 参数”

其中常用的选项包括一下几种

选项作用-f:忽略大小写-b:忽略每行前面的空格-M:按照月份进行排序-n:按照数字进行排序-r:反向排序-u:等同于uniq,表示相同的数据仅显示一份-t:指定分隔符,默认使用[TAB]键分隔-o<输出文件>:将排序后的结果转存至指定文件-k:指定排序区域

将/etc/passwd 文件中的账号进行排序,默认是按首字母顺序排序

 

第三列是数字,倒序排列

 
 

uniq工具在Linux系统中通常与sort命令结合使用,用于报告或者忽略文件中的重复行
-c:进行计数
-d:仅显示重复行
-u:仅显示出现一次的行

 
 
 
 

tr命令常用来对来自标准输入的字符进行替换、压缩和删除
tr具体的命令语法格式为:tr [选项] [参数]
-c:取代所有不属于第一字符集的字符
-d:删除所有属于第一字符集的字符
-s:把连续重复的字符以单独一个字符表示
-t:先删除第一字符集较第二字符集多出的字符,做替换

1.将大写字母转换成小写字母

 

2.压缩输入中重复的字符

 

3.删除字符串中的某些字符

最新文章
淘宝产品关键词怎么优化?优化关键词好方法
现在有很多消费者都是采用关键词进行搜索,所以作为商家优化商品关键词是很有必要的,可是产品关键词怎么优化?那么接下来,我们就来给大家讲解一下这方面的内容。1、有相关性关键词的相关性意味着会有相对精准的淘宝流量,精准的流量才能够
量化销售,步入过剩
来源:远川投资评论2022年,量化销售总会拿着Preqin全球对冲基金排行榜,热情地回答客户的发问,「未来中国的主观多头是不是也会被量化所取代?」没过两年,这枚回旋镖就击中了自己。今年10月,国内股票量化管理人规模为7900亿,相比2023年
构建强大的网站外链建设计划
在当今竞争激烈的数字环境中,外链建设对于网站的成功至关重要。外链可以提高网站的权威性、可信度和搜索引擎排名。制定一项有效的网站外链建设计划对于获得高质量反向链接至关重要,这些反向链接可以提升网站的在线影响力。外链建设规划确
眼霜哪个牌子好用?横扫眼部问题眼霜推荐 好用的眼霜排行榜
很多朋友是不是因为眼部问题困扰,因为眼部一旦有问题真的很难看,那么有什么眼霜真正可以横扫眼部问题,还你一双漂亮的双眼呢?今天我们就给大家盘点一下真正实力派好用的排名,是目前最好用的眼霜排行榜前十名,让你的眼部问题真正得到改
销售管理系统工具:外贸企业提升销售效率的利器
外贸企业的销售管理通常涉及多个国家和地区,不同的客户群体以及复杂的产品供应链。在这种情况下,传统的手工记录和分散管理的方式显然难以应对日益复杂的业务需求。销售管理系统通过对销售数据进行集中存储和管理,使企业可以实时监控销售
性能调优怎么做,看过这一篇就都会了!
在展开今天的内容之前,我们先来看一下,是不是任何一个测试都可以学习性能测试。 如果说需求、开发、DB、运维、测试是单一一门学科,那么性能就是综合学科,它包含了需求分析、DB、开发、测试、运维的所有学科。
什么是搜索引擎推广
搜索引擎推广(Search Engine Marketing,简称SEM)是一种通过在搜索引擎中投放广告来推广产品、服务或网站的营销方式。它是基于搜索引擎的搜索结果页面上的付费广告形式。搜索引擎推广通过在搜索引擎中购买关键词或展示广告位置,使得广告
霸道4lo闪烁发动机故障灯常亮
当霸道车辆仪表盘上4lo的显示灯闪动和发动机故障灯与此同时闪烁时就证实低速档四驱的操作系统和发动机都出現了故障,必须立刻开展检修。因为设计方案到发动机的故障,因此故障的概率较多,有可能是ABS感应器和分动箱控线束发生松脱、操纵单
百度618电商搜索大数据出炉 石家庄网民搜索热情河北居首
报告显示,今年618的搜索热度出现逆势上涨,创五年新高,更是倍超去年双十一。今年网民对618的搜索热情较往年提前约10天,整体搜索热度较去年双十一增幅高达95%。今年网民对618的搜索热情在5月20日左右即被点燃。今年618搜索内容聚焦在直播
豆包的核心是Ai应用豆包其实是一款智能机器人,在聊天机器人基础上,又可以帮人写作
豆包的核心是Ai应用豆包其实是一款智能机器人,在聊天机器人基础上,又可以帮人写作,学英语,能够回答各类问题。豆包,其实是Ai应用,各种Ai技术落地。现在炒豆包概念,各种与抖音相关的传媒股大涨,而给抖音提供Ai技术的才更应该是核心。
相关文章
推荐文章
发表评论
0评