文本编辑正则表达式

正则表达式,对文件内容进行增删改查

Linux的文本三剑客

Grep:过滤,(查找文本内容--配合正则表达式一块使用)  查
Sed:改
Awk:对行来进行取列,awk自带编程语言,格式是类java
三个都是针对文件内容进行处理

grep

grep 命令都是对行来进行处理,Grep 这个命令主要是方便对日志内容进行过滤
grep -v :取反,只显示没有需要过滤的行

grep -m :多次匹配,只取第一个 , grep -m 1  , m后面要加数字(可自定义)

grep -n : 显示匹配内容以及显示匹配的行号,过滤的内容在文本的第几行会显示出来

grep -o : 仅显示匹配到的字符串,不再输出其他内容,去除冗余信息,只展示需要的

grep -q:什么都不显示,没什么用

grep -A:(after)后几行,显示匹配到行以及匹配行的后几行,grep -A 3”root”  后面跟数字几行可以自己定义

Grep -B:(before)前几行,与-A相反,显示匹配到的行以及祂的前几行,数字自定义

Grep -C :前后各几行,显示匹配到的行以及上几行与下几行,grep -C 3 “gnm” /etc/passwd

Grep -e:逻辑或的关系,grep  -e  “root”  -e  “bash”  -e  “dn”  /etc/passwd

Grep -E :使用正则表达式

Grep -f:处理两个文件相同的内容,可以过滤出两个文件的相同内容

Grep -r:递归目录下,所有包含过滤内容的文件以及匹配的内容行,但是不处理软链接(ln -s)

Grep -R:递归目录下,包括软链接,所有包含过滤内容的文件及匹配的内容行

Sort命令

以行为单位对文件内容进行排序,也可以根据不同的数据类型进行排序

格式:sort 加上选项 加上参数  sort   test , cat  /etc/passwd  | sort  选项

Sort -b: 忽略每行前面的空格 ,进行排序,而不是把空格缩进,有空格也不影响排序

Sort -n
按照数字进行排序

Sort -r
按照数字进行反向排序

Sort -u
去除重复,相同的数据行只显示一行

Sort -o
输出文件把排序后的结果,输出到指定的内容文件

(面试题)

怎么不改变源文件的排序顺序,输出到另一个文件中

Cat -n /etc/passwd | sort -o /opt/333.txt   先查看passwd文件按顺序编号,再输出到指定路径文件中排序

uniq

专业去重(快捷去重)uniq :用于报告或者忽略文件中连续的重复行,常与sort命令结合使用

Uniq格式 : uniq  加上选项 加上参数   , 或者cat  文件  | uniq 选项

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

Uniq -u :显示仅出现一次的行,包括不连续的行也仅出现一次

Uniq -d :仅显示重复出现的行,但必须是连续的重复行,如果不是连续重复行不算在内

tr

tr:对字符进行替换 压缩 删除

格式 tr  加上选项 加上参数  Tr  -d “%”

Echo 123  |  tr  选项

Tr -c :保留字符集1的字符,其他字符用字符集2来进行替换,必须要保留,然后替换,他会多打一个

Tr -d :删除字符集

Tr -s :将重复出现的字符串压缩成一个字符,也可以替换字符集,tr -s 补充一下,多个字符压缩成一个

 

tr -t :替换,不加-t也行,默认替换

Cut

Cut对字段进行截取和剪裁

格式:cut 加选项 加参数

Cat 文件名 | cut 选项

Cut -d :指定分隔符,可以截取字段
cut -d  ‘:’ -f 1-3 /etc/passwd   
cut -d  ‘:’ -f 1,3 /etc/passwd 以冒号分割符截取1和3列 

Cut -b :以字节为单位截取

Cut -c : 以字符为单位截取

Cut -complement :排除所指定的字段

Cut --output-delimiter :更改原内容的分割符

Cut 和awk 有相似之处,都是对行来取列,

cut的默认分割符是tab键,主要是切文本,指定分隔符,指向性越强越好

awk的默认分割符就是空格,会把多个连续的空格当做一个处理

Split

文件拆分:split 可以把文件拆分成若干个小文件

面试题

有一个日志文件----nginx -----nginx.log-------5G,有什么方法提高这个文件的打开速度 split命令对文件进行拆分

split -b 1G /nginx/nginx.log

Split -l:指定行数拆分  (小文件用split -l)

Split -b:指定文件大小进行拆分(大文件用split -b)

Paste 和 cat

Paste  cat :分件合并

面试题 :合并分件,paste和cat之间的区别

Paste:左右合并

Cat :上下合并

Paste:左右合并

Cat :上下合并

面试题:如何统计当前主机的链接状态,有多少个linsten(LINSTEN) 有多少个estab(ESTAB)

Ss -nta | grep -v ‘state’ | cut -d “ ” -f 1 |  sort  | uniq -c

正则表达式

正则表达式:匹配文件内容,根据特点的字符和表达式

Linux下:grep sed awk  

Nginx   mysql  配置文件也可以支持正则表达式

通配符和正则表达式的区别

通配符匹配的是文件名

正则表达式匹配的是文件内容

*:匹配任意一个或者多个字符

?:匹配任意一个字符

[  ] : 可以是范围匹配,也可以是单个字符
正则表达式

元字符

点       .      :匹配任意单个字符,可以是一个汉字

转义符 \ :            ‘   \ .   ’            这里的点只是.

():分组,       \(\)

[ ]:匹配任意范围内的单个字符,

使用正则表达式,一定要把匹配的内容      ” ”     引起来

[^a-z] : 取反,除了小写a-z,其他都算进去

[[:blank:]]:表示匹配空格或者制表键

[:space:] : 空格tab键 换行符回车 各种类型的空白

[:cntrl:]:退格删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值