grep 过滤
主要是针对文本的内容进行过滤,查找
grep的作用就是过滤文本内容,是针对行来进行处理。
命令 | 注释 |
-n | 显示匹配的行号 |
-c | 只统计匹配的行号 |
-v | 取反,显示与查找内容相反的信息 |
-m 1 | 多个匹配的话,可以限定显示的行数,匹配几次之后停止。 |
-o | 仅显示匹配到的字符串 |
-A | 查找到行后再向下显示几行 |
-B | 查找到行后再向上显示几行 |
-C | 查找到行后再显示上下各几行 |
-e | 表示逻辑或 ,可以匹配多个条件,实现多个选项间的逻辑关系 |
-w | 匹配整个单词,只有完整单词才能匹配出来 |
-E | 使用扩展正则表达式 |
-f 文件 文件 | 根据两个文件的内容进行匹配,匹配两个文件中相同的内容 |
-r | 递归目录,查找当前目录下的所有文件,不处理软连接 |
-R | 递归目录,查找当前目录下的所有文件,处理软连接 |
sort 排序
以行为单位对文件的内容进行排序。也可以根据不同的数据类型进行排序
命令格式
sort 选项 参数
cat 文件名 | sort 选项
命令 | 注释 |
-f | 忽略大小写,但会默认把大写字母排在前面 |
-b | 忽略每行前面的空格 |
-n | 按照数字进行排序 |
-r | 反向排序 |
-u | 相同的数据,只显示一行,去重 |
-o | 输出的文件名,将排序后的结果转存到指定的文件 |
uniq 去重
用于报告或者忽略文件中连续出现的重复行,经常与soft命令结合使用。
命令格式
uniq 选项 参数
cat 文件名 |uniq 选项
-c | 统计连续重复的行的次数,并合并重复的行,打印 |
-u | 显示仅出现一次的行,包括不连续的重复行 |
-d | 仅显示重复出现的行,必须是连续的重复行 |
tr 替换
对输入的字符进行替换,压缩和删除,可以结合“|” 进行使用,默认什么都不加为替换。
命令 | 注释 |
-c | 保留字符集1的字符,其他的用字符集2进行替换 |
-d | 删除指定的字符集 |
-s | 把重复出现的字符串压缩成一个字符串,也可以替换 |
"\n" | 压缩空格 |
cut :截取,对字段进行截取和裁剪
命令格式
cut 选项 参数
cat 文件名 |cut 选项
命令 | 注释 |
-d | 制定分隔符,默认分隔符是tab,不是空格,要用引号引起来 |
-f | 按字段进行截取,指定要截取第几个字段 |
截取以冒号分割的第一到第三段
cut -d ":" -f 1-3 /etc/passwd
1,3 第一段到第三段
split文件拆分
大文件拆分成若干小文件
split -l 行数 文件 自定义名称 指定行数拆分
split -b 2m 文件 自定义名称 指定文件大小拆分 block
paste 文件合并
paste是左右合并
cat是上下合并
如要永久生效,要重定向输入的文件里
例题:
统计当前主机的连接状态
ss -antp | cut -d " " -f 1 | sort | uniq -c | grep -v "^state"
统计当前主机的连接数**
ss -nt | tr -s " " | cut -d " " -f 4 | sort | uniq -c |grep -v "^local"