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