码迷,mamicode.com
首页 > 系统相关 > 详细

shell编程题(九)

时间:2019-12-30 23:26:30      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:次数   margin   sort   数值   定向   读取   使用   color   技术   

文本分析,取出/etc/password中shell出现的次数

 

答案1:

cat /etc/passwd | awk -F: {if ($7!="") print $7} | sort | uniq -c

技术图片

/etc/passwd 中的数据是以:隔开的

sort是将文件中的每一行作为一个单位,互相比较。

比较的原则是从首字母向后,依次按照ASCII码值进行比较,最后将它们按照升序输出。

参数:

    • -u 去除重复行
    • -r 降序输出
    • -o 输入到原文件 (重定向只能输入到新文件)
    • -n 按数值排序
    • -t 后面可以设定间隔符 -k 指定列数。
    • -f 忽略大小写排序
    • -c 检查文件是否已排好序,如果乱序输出第一个乱序的行,最后返回1
    • -C 同上,不输出内存,仅返回1
    • -M 按照月份排序
    • -b 会忽略掉每一行前面的所有空白字符

 

uniq 检查及删除文本文件中重复出现的行列,一般与sort命令结合使用

uniq可检查文本文件中重复出现的行列

uniq [-c/d/D/u/i] [-f Fields] [-s N] [-w N] [InFile] [OutFile]

参数:

    • -c: 在每列旁边显示该行重复出现的次数。
    • -d: 仅显示重复出现的行列,显示一行。
    • -D: 显示所有重复出现的行列,有几行显示几行。
    • -u: 仅显示出一次的行列
    • -i: 忽略大小写字符的不同
    • -f Fields: 忽略比较指定的列数。
    • -s N: 忽略比较前面的N个字符。
    • -w N: 对每行第N个字符以后的内容不作比较。
    • [InFile]: 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
    • [OutFile]: 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

 

答案2:

cat /etc/passwd | awk -F: {if ($7!="") print $7} | sort | uniq -c | awk {print $2,$1}

技术图片

shell编程题(九)

标签:次数   margin   sort   数值   定向   读取   使用   color   技术   

原文地址:https://www.cnblogs.com/wanghao-boke/p/12122042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!