Grep 针对文本内容进行过滤、查找
常用的选项
Grep
- -i:忽略大小写,默认可不加
- -n:显示匹配的行号
- -c:只显示所找到的内容的行号
- -v:取反,过滤反向的内容
- -m:多个匹配,可用限定显示的行数,匹配几次后停止
-o:仅显示匹配到的字符串
-A:匹配到内容行后再向下展示几行,包含匹配到的行
-B:匹配到的内容行再向上展示几行
-C: 匹配到的内容行展示上下个几行
-e:逻辑或,可用匹配多个条件
-w:匹配整个单词
-E:使用扩展正则表达式 也可以用egrep
-f:根据两个文件的内容进行匹配,匹配两个文件中相同的内容
-r:递归目录,不处理软连接 grep -r "a" /opt/
-R:递归目录,处理软连接,软连接的内容也显示出来
Sort 排序
以行为单位对文件的内容进行排序,也可以根据不同的数据类型进行排序
格式:
sort 选项 参数
cat 文件名 | sort 选项
常用选项
- -f:忽略大小写,默认会把大写的字母排在前面
- -b:忽略每行前面的空格
- -n:按照数字进行排序,按行号
- -r:反向排序
- -u:相同的数据只显示一行,去重
- -o:输出的文件名,将排序后的结果转存到指定的文件
数字的优先级最高
字母和数字不要混合在一起排序
例:要求按照原文本的顺序,输入到ky30.txt
cat -n /etc/passwd | sort -n -o ky30.txt
Uniq 针对重复行的操作
用于报告或忽略文件中连续出现的重复行,经常和sort命令结合使用
格式:
cat 文件名 | uniq 选项
常用选项
- -c:统计连续重复的行的次数,并且合并重复的行并打印,不会改变文件内容
- -u:显示仅出现一次的行,包括不连续的重复行
- -d:仅显示重复出现的行,必须是连续的重复行
sort经常和uniq一起使用 例:sort -n test.sh | uniq -c
先排序再输出,只对打印的结果有影响,对文件没影响
Tr 删除
对来自标准输入的字符进行替换,压缩及删除
格式:tr 选项 参数 也可以结合"|"进行使用
常用选项
- -c:保留字符集1的字符,用字符集2来替换
例:echo 192.168.88.10 | tr "." " " 把 . 换成空格
例2:echo ABC | tr "A-Z" "a-z" 匹配前面的内容把大写换成小写
- -d:删除指定的字符集
- -s:把重复出现的字符串压缩成一个字符串,也可以替换
- -t:默认就是替换,可以不写
Cut 截取
截取,和awk有相似之处,对字段进行截取和裁剪
格式:cut 选项 参数
cat 文件名 | cut 选项
常用选项
- -d:指定分割符,默认的分隔符是tab,指定分隔符要用引号引起来
awk的默认分隔符是空格,多个空格也会算一个
例:cut -d ":" -f 1-3 /etc/passwd
1-3为1到3 1,3为1和3
- -f:按字段进行截取,指定要截取第几个字段,指定输出列
- -b:以字节为单位截取
- -c:以字符为单位截取
Split 拆分文件 *面
将大文件拆分成若干个小文件
- -l:根据行数来拆分 line
例:split -l 20 passwd ky30
ky30为切割后的文件名必须指定,否则会报错
- -b:指定文件大小拆分 block
例:split -b 文件名 切割的文件名
Paste 合并文件 *面
Paste与cat在合并文件上的区别在于,paste是左右合并、cat是上下合并
如:
临时生效:paste 123 456
永久生效:paste 123 456 > test.txt
*面
listen:监听,等待连接,谁可以连接
estab:已经建立连接,并且连接处于活动状态
- 统计当前主机连接状态
ss -antp | grep -v "^state" | cut -d " " -f1 | sort | uniq -c
- 统计当前主机连接数
ss -nt | tr "s" | cut -d " " -f 3 | sort -n | uniq -c