正则表达式(1)

正则表达式(1) grep

grep

gerp:过滤文本内容

sed:针对文本内容进行替换和基本编辑

awk:用于更复杂的文本内容

文本三剑客,都是按照行进行匹配

grep的作用及时使用正则表达式来匹配文本内容

-m 匹配几次之后停止

-m 数字

# grep -m 1 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
# grep -m 2 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

-v 取反

-n 匹配显示的行号

grep -n root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

-c只统计匹配的行数

grep -c root /etc/passwd
2

-o 仅显示匹配的结果

grep -o root /etc/passwd
root
root
root
root

-q 静默模式,不输出任何信息

-A after 数字,后几行

grep -A 3 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

-B before 数字,前几行

 grep -B 3 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
--
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

-C 数字 前后各几行

grep -C 3 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
--
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin

-e 逻辑或的意思 或者

grep -e root -e dn /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
dn:x:1001:1001::/home/dn:/bin/bash

-E 匹配扩展正则表达式

grep -E 111 1.txt 
111
111

-f 匹配两个文件相同的内容,以第一个文件为准 展示相同结果

grep -f 1.txt 2.txt 
1
11
111
222
333
bbb

-r 递归目录 目录下的文件内容。软连接不包含在内

grep -r 111 /opt
/opt/1.txt:111
/opt/1.txt:111
/opt/2.txt:111

-R 递归目录 目录下的文件内容

 grep -R 123 /opt
/opt/1.txt:123
/opt/999.txt:123
/opt/2.txt:123

sort排序

sort 以行位单位,对文件的内容进行排序

sort 选项 参数

cat file | sort 选项

-f 忽略大小写,默认吧大写排在前面

-b 忽略每行之前的空格(不是把空格删除,只是依然按照数字排序)

-n 按照数字进行排序

-r 反向排序

-rn 反向顺序排序

-u 相同的数据显示一行

-o 把排序后的结果转存到指定文件

uniq 去除连续重复的行,只显示一行

-c 统计连续重复的行的次数,合并连续重复的行

-u 显示仅出现一次的好行(包括不是连续出现的重复行)

-d 仅显示连续重复的行的(不包括非连续出现的内容)

tr

tr:用来标准输出的字符进行替换,压缩和删除

tr 选项 参数

-c 保留字符集1的字符 其他的字符用字符集2来替换

-d 删除字符集中的一部分

-s 替换字符集1的部分替换成字符集2的部分 连续重复出现的字符串压缩成一个字符

cut

快速裁剪 awk 都可以按行取例

对字段尽行截取和裁剪

-d指定分隔符 (默认分割符就是tab键)

-f 对字段进行截取 指定输出段的内容

complement -f 删除指定列

-b 以字节为单位进行截取

-c 以字符为单位进行截取

文件的拆分

split 大文件拆分成若干小的文件。

-l 按行来进行分割

-b 按照大小来进行分割

小题

现在有一个日志文件 很大,5g 能不能快速打开

拆分 -l 按行 -b 大小

这种情况 推荐使用按大小

文件合并

cat

paste

小题

cat合并和paste合并有什么区别

cat是上下合并

paste是左右合并

2

统计当前主机建立连接

ss -antp

ss -antp | grep -v '^State' | cut -d " " -f 1 |sort |uniq -c
      1 ESTAB
     13 LISTEN

正则表达式

是由一类特殊字符以及文本所编写的一个模式,模式用来匹配文件当中的内容,字符

校验我们输入的内容是否满足规定,格式,长度

主要用来匹配文本内容,命令的结果,

通配符:只能用来匹配文件名和目录名,不能匹配文件的内容和命令结果

正则表达式

基本正则表达式

元字符(字符匹配)

. 任意单个字符,也可以是一个汉字

\ 转义符 恢复他的本意

# ls | grep .
test11.txt
test1.txt
test22.txt
test2.txt
# ls | grep "\."
test11.txt
test1.txt
test22.txt
test2.txt

[] 匹配指定范围内的单个字符或者数字

[^] 取反 匹配 除了方括号里的字符任意一个字符

在括号里面的表示取反表示除了这个字符都显示

不加括号表示匹配这个字符号

括号中可以加任意内容

^#

^$是空行的意思

[ ]

显示字符之间的空格只括号中大一个空格就好

表示次数,匹配字符出现的次数

“*” 匹配前面的字符任意次,0次也可以,贪婪模式,尽可能的匹配

.*匹配前面的任意字符,至少要有一次匹配所有

\?匹配前面字符0次或者一次,可有可无

\+ 匹配前面的字符,至少要出现一次

\{n\} 匹配匹配前面字符=n次,可以小于n 但是不能大于n 而且前面的字符必须要是连续出现的

\{m,n\} 表示匹配前面的字符最少m次至多是n 必须是连续出现,超出的不在匹配范围内

\{,n\} 表示匹配的字符最多是n次 不能少于n次

位置谋定

^ 以什么开头行首定位

$ 以什么结尾

在这里插入图片描述

\<或者\b词首谋定,匹配单词的左侧(连续的数字、字母、下划线都算单词内容)

\<或者\b词尾谋定,匹配单词的右侧

区别

\broot\b 匹配整个单词 空格隔开也算整个单词

^root$:整一行只有这个单词

分组和逻辑关系

分组:()

或者: |

扩展正则表达式

grep -E 不在需要加\

egrep=grep -E

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值