文本三剑客 之 grep

目录

一.grep

1.grep常用选项命令选项

2.grep 命令选项

3.简单的正则表达式

 二.sort 命令

 三.uniq 去重

 四 .语法格式:  tr 选项 参数

 五.快速裁剪命令——cut:

六.split 文件拆分

七.文件合并——paste


一.grep

文本三剑客了之一,对文本内容进行过滤,支持正则表达式,针对行来进行处理

1.grep常用选项命令选项

-m 匹配日几次后停止
-i 忽略字符大小写
-v 取反
-n 只显示行号
-c 统计匹配的行数
-o

仅显示匹配到的字符串

-A 匹配当前行号的后3行
-B 匹配当前行的后3行
-c 匹配当前行的前3行和后3行
-e 条件或  -e可以跟多个选择
-w 匹配整个单词
-E 使用ERE,相当于egrep,使用扩展正则
-f 处理两个文件相同的内容把第一个文件作为匹配条件
- F  不支持正则表达式
-r

递归目录,但不处理软连接

-R 递归目录,单处理软连接

2.grep 命令选项

-m 1 ---------- 多从匹配支取几次结果

文本三剑客 之 grep_第1张图片

-i ----------- 忽略字符打大小写  大写也可以小写也可以

文本三剑客 之 grep_第2张图片

-v ------------ 取反 就是过滤所有包含root的信息和字符

文本三剑客 之 grep_第3张图片

-n --------------显示匹配的行号

 

 -c ------------显示匹配的行数  只有两行

 -o ---------仅显示匹配到的字符串 只对文本内容进行处理就是正则表达式

文本三剑客 之 grep_第4张图片

-A  3 --------  后面必须要加个参数否则会报错   显示当前行后3行

文本三剑客 之 grep_第5张图片

 -B 3 ------- 显示当前行数的前3行

文本三剑客 之 grep_第6张图片

-C ----------显示当前行数的前后 个三行 

文本三剑客 之 grep_第7张图片

 -e ------是逻辑或的意思  或打印root   或打印bash 也认可与同时打印    两个条件满足一个即可 

grep -e root -e bash /etc/passwd

文本三剑客 之 grep_第8张图片

 

 -w -----匹配整个单词  

 -E ------ egrep 使用扩展正则

-f -------- 处理连个文件里的相同类容 第一个文件作为匹配条件

文本三剑客 之 grep_第9张图片

 -r -------- 只处理递归目录,但不处理软连接

grep -r a /opt

 -R -------- 只处理递归目录,但不处理软连接

 

3.简单的正则表达式

"^"  以什么为开头

文本三剑客 之 grep_第10张图片

"&" 以什么为结尾

文本三剑客 之 grep_第11张图片

^$ 空行 

把66.txt 里的空行过滤出来 导入到666.txt 里 使用正则表达式的时候  要用“”引号引起来

cat 66.txt | grep -v "^$" > 666.txt

文本三剑客 之 grep_第12张图片

只匹配一个root的行  多个不匹配

grep -n "^root$" 2.txt

文本三剑客 之 grep_第13张图片

 

 二.sort 命令

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

sort 常用命令选项

-f 忽略大小写,默认会大写字母排在前面
-b 忽略每行前面的空格
-n 按照数字进行排序
-r 反向排序
-u 等同uniq,表示相同的数据仅显示一行,去重
-t 指定字段分隔符,默认使用tab键分隔
-k 指定排序字段

-o

<输出文件>:将排序后的结果转存至指定文件

1.sort  -f 忽略大小写,默认会大写字母排在前面

文本三剑客 之 grep_第14张图片

 2.sort -n 按照数字进行排序

文本三剑客 之 grep_第15张图片

 3. sort -r 反向排序

文本三剑客 之 grep_第16张图片

 4sort-u 去重

文本三剑客 之 grep_第17张图片
 

 

 5.  sort-o   <输出文件>:将排序后的结果转存至指定文件

文本三剑客 之 grep_第18张图片

 文本三剑客 之 grep_第19张图片

 

 三.uniq 去重

unip 常用选项

-c 统计连续重复的行的次数,并且合并重复的行
-u 显示仅出现一次的行(包括不连续的重复行)
-d 仅显示重复出现的行(必须是连续的重复行)

1.cat 6.txt | uniq   快捷去重

uniq  选项   参数

文本三剑客 之 grep_第20张图片

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

uniq -d 仅显示重复出现的行(必须是连续的重复行)

文本三剑客 之 grep_第21张图片

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

文本三剑客 之 grep_第22张图片

 四 .语法格式:
  tr 选项 参数

-c 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换
-d 删除所有属于字符集1的字符
-s 将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1
-t 字符集2 替换 字符集1,不加也行

字符集1:
指定要转换或删除的原字符集。当执行转换操作时,
必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。
但执行删除操作时,不需要参数”字符集2“

字符集2:
指定要转换成的目标字符集

tr .  换成,号

大写替换成小写

保留了ab,替换了c,输出aa

 

 排序输出,压缩空行为一个

文本三剑客 之 grep_第23张图片

 删除ab,打印c

 五.快速裁剪命令——cut:

-d     指定分隔符(默认分隔符为Tab)
-f 按字段进行截取。指定第n个字段
-b  以字节为单位进行截取
-c  以字符为单位进行截取

         -d 指定分隔符(默认分隔符为Tab)

 文本三剑客 之 grep_第24张图片

六.split 文件拆分

-l 指定行数
-b 指定文件的大小

[root@localhost opt]# cp /etc/passwd /opt/test2.txt
[root@localhost tr]#  split -l 20 test2.txt   sc
[root@localhost opt]# split -b 2m httpd-2.4.29.tar.bz2 sc  指定文件大小,不需要大小写
 

七.文件合并——paste

按照字段来进行文件的合并
格式:

-d 用于指定文件的分隔符(默认情况下为制表符"\n")
-s 将列和行的内容进行互相交换

paste a b和cat a b 之间的区别 (左右合并)
面试题  统计当前主机的连接状态

   1ESTAB   #表示建立的 TCP 连接处于活动状态
    14 LISTEN

统计当前连接主机数

 

你可能感兴趣的:(linux,运维,服务器)