shell正则表达式

目录

一.sort

常用选项

sort 例子

1、不加任何选项 如:sort /etc/passwd

2、 去重 (sort -u)

二.uniq 举例

1、uniq 不加任何选项

去除重复的行,按原顺序排列 

2、统计文件内容出现的次数 uniq -c

三、tr  转换或删除文件中的字符

1、tr功能及格式

2、tr 的常用选项

3、tr 例子

四、cut 列截取工具(切片)

1、cut概述

2、常用选项

3、cut 例子

4、paste 粘贴

五.正则表达式

基础正则表达式常见的元字符

总结


一.sort

常用选项

选项功能
-t指定分隔符,默认使用 [Tab] 键或空格分隔
-k指定排序区域,哪个区间排序
-n按照数字进行排序,默认是以字母形式排序
-r反向排序,默认升序,
-u等同于uniq,表示相同的数据仅显示一行,注意:如果行尾有空格去重就不成功
-o将排序的结果转存至指定文件

sort 例子

1、不加任何选项 如:sort /etc/passwd

#默认以字符排序(a b c d),如果第一个字母相同,比较第二个,以此类推

 sort -t: -k3 -n passwd 按照第三排数字进行排序

sort -t: -k3 -n -r passwd 按照第三排数字进行倒序

2、 去重 (sort -u)

去掉重复的内容并按顺序进行排序

 3、 指定分隔符(-t),指定排序的列(-k),升序排列

以第3列数字进行排序

 4、指定分隔符,指定排序的列,降序排列(-r)

二.uniq 举例

1、uniq 不加任何选项

去除重复的行,按原顺序排列 

 

2、统计文件内容出现的次数 uniq -c

###前面是内容(字符或数字)出现的次数               后面是内容

 3、 uniq -u 只显示出现1次的行

 4、uniq -d 只显示有连续重复的行

 5、 统计历史登录过系统的用户

 结合sort使用

三、tr  转换或删除文件中的字符

1、tr功能及格式

可以用一个字符来替换另一个字符,
或者可以完全除去一些字符
还可以用来去掉重复的字符
从标准输入中替换,缩减和注释或删除字符,并将结果写到标准输出

格式: tr [选项]  '字符集1'  '字符集2'

2、tr 的常用选项

选项功能
-d删除字符
-s删除所有重复出现的字符,只保留一个(如果是空行,全部去掉)
-c反向取值

3、tr 例子

①将所有小写换成大写  tr 'a-z' 'A-Z'

  ②当转换数值不足时,一直转换成最后一个  tr 'lisi' '123'

 ③ 将字符替换成特殊字符  tr 'i' ' '

 ④ 删除匹配到的字符   tr -d 'i'

  ⑤对连续的字符去重   tr -s 'i' 

对连续的字符去重   tr -s 'w'

 ⑥tr -c 反向取值

[root@gang mnt]#cat /dev/urandom |tr -dc '[:alnum:]' | head -c12

head -c 取字符      [:alnum:] 数字字母      12 取前12个

四、cut 列截取工具(切片)

1、cut概述

cut命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定file 参数,cut命令将读取标准输入。必须指定 -b(字节) 、-c(字符) 或 -f(第几列) 标志之一。

字符和字节的区别
字节(byte) : 是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下1字节等于8位
字符(character) :计算机中使用的字母、数字、字和符号
一般在英文状态下,一个字母或字符占用一个字节, 一个汉字占用两个字节 。

2、常用选项

格式:cut  [选项]  [文件路径]

选项功能
-b按字节截取
-c按字符截取,常用于中文
-d指定以什么为分割符截取,默认为制表符
-f通常和-d一起使用(表示截取第几列

3、cut 例子

cut -b 4截取第四个字符

cut -b 4,10-14 截取第四个字符及第10到14个字符

4、paste 粘贴

paste -d 指定分隔符

 五、找出访问量最高的10个ip

五.正则表达式

  • 通常用于判断语句中,用来检查某一个字符串是否满足某一格式

  • 正则表达式是由普通字符与元字符组成;普通字符包括大小写字母、数字、标点符号及一些其他符号

  • 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符或表达式)在目标对象中的出现模式

基础正则表达式常见的元字符

(支持的工具:grep、egrep、sed、awk)

常用转义符介绍示例
\转义字符,用于取消特殊符号的含义\ !、\n、$等
^匹配字符串开始的位置^ a、^ the、^ #、^ [a-z]
$匹配字符串结束的位置word$、匹配空行
.匹配除\n之外的任意的一个字符go.d、g…d
*匹配前面子表达式0次或者多次,goo*d、go.*d、^go.*d$

总结

可以通过正则表达式来对普通字符和元字符来进行表示,需要知道基础正则表达式和扩展正则表达式的使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值