目录
一.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 ---------- 多从匹配支取几次结果

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

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

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

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

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

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

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

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

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

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

-E ------ egrep 使用扩展正则
-f -------- 处理连个文件里的相同类容 第一个文件作为匹配条件

-r -------- 只处理递归目录,但不处理软连接
grep -r a /opt

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

3.简单的正则表达式
"^" 以什么为开头

"&" 以什么为结尾

^$ 空行
把66.txt 里的空行过滤出来 导入到666.txt 里 使用正则表达式的时候 要用“”引号引起来
cat 66.txt | grep -v "^$" > 666.txt

只匹配一个root的行 多个不匹配
grep -n "^root$" 2.txt


二.sort 命令
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
sort 常用命令选项
| -f | 忽略大小写,默认会大写字母排在前面 |
| -b | 忽略每行前面的空格 |
| -n | 按照数字进行排序 |
| -r | 反向排序 |
| -u | 等同uniq,表示相同的数据仅显示一行,去重 |
| -t | 指定字段分隔符,默认使用tab键分隔 |
| -k | 指定排序字段 |
| -o | <输出文件>:将排序后的结果转存至指定文件 |
1.sort -f 忽略大小写,默认会大写字母排在前面

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

3. sort -r 反向排序

4sort-u 去重

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


三.uniq 去重
unip 常用选项
| -c | 统计连续重复的行的次数,并且合并重复的行 |
| -u | 显示仅出现一次的行(包括不连续的重复行) |
| -d | 仅显示重复出现的行(必须是连续的重复行) |
1.cat 6.txt | uniq 快捷去重
uniq 选项 参数

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

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

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

四 .语法格式:
tr 选项 参数
| -c | 保留字符集1的字符,其他的字符(包括换行符\n)用字符集2替换 |
| -d | 删除所有属于字符集1的字符 |
| -s | 将重复出现的字符串压缩为一个字符串,用字符集2 替换 字符集1 |
| -t | 字符集2 替换 字符集1,不加也行 |
字符集1:
指定要转换或删除的原字符集。当执行转换操作时,
必须使用参数”字符集2“指定转换操作时,必须使用参数”字符集2“指定转换的目标字符集。
但执行删除操作时,不需要参数”字符集2“
字符集2:
指定要转换成的目标字符集
tr . 换成,号

大写替换成小写

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

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

删除ab,打印c

五.快速裁剪命令——cut:
| -d | 指定分隔符(默认分隔符为Tab) |
| -f | 按字段进行截取。指定第n个字段 |
| -b | 以字节为单位进行截取 |
| -c | 以字符为单位进行截取 |
-d 指定分隔符(默认分隔符为Tab)

六.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
统计当前连接主机数
















