linux命令---grep、sort、uniq、tr

grep命令
grep命令用于按行提取文本内容
语法格式:
grep [参数] 文件名称
grep命令中常用的参数及作用
| 参数 | 作用 |
|---|---|
| -b | 将可执行文件(binary)当做文本文件(text)来搜索 |
| -c | 仅显示找到的行数 |
| -i | 忽略大小写 |
| -n | 显示行号 |
| -v | 反向选择–仅列出没有“关键字”的行 |
| -A | -A 2:搜索时显示匹配到的那一行以及下2行 |
| -B | -B 2:搜索是现实匹配到的那一行以及上2行 |
| -C | -C 2:搜索是显示匹配到的那一行以及上下2行 |
grep查找文件里字符串的用法
| 查找文件里有字符h的字符串 | grep h 文件名 |
|---|---|
| 匹配以q开始的行 | grep ^ [q] 文件名 |
| 匹配以q结束的行 | grep q$ 文件名 |
| 匹配数字开头的行 | grep ^ [0-9] 文件名 |
| 匹配以q或者f开头的行 | grep ^ [qf] |
| 匹配以#号开头的行 | grep ^# |
| 过滤空白行 | grep ^$ |
| 如果要明确搜索子目录有h的字符 | grep -r h./* |
| 忽略子目录 | grep -d skip h./* |
sort命令
sort命令与对文本内容进行再排序
语法格式:
sort [参数] 文件名
sort命令参数及作用
| 参数 | 作用 |
|---|---|
| -f | 忽略大小写 |
| -b | 忽略缩进与空格 |
| -n | 以数值型排序 |
| -r | 反向排序 |
| -u | 去除重复行 |
| -t | 指定间隔符 |
| -k | 设置字段范围 |
与uniq命令的不同
sort命令可以不论内容之间是否夹杂有其他内容,只要两个一模一样的内容行,立马就可以使用-u参数进行去重操作
uniq命令
uniq命令用于去除文本中连续的重复行
语法格式:
uniq [参数] 文件名
该命令的作用是用来去除文本文件中连续的重复行,中间不能夹杂其他文本行,去除重复的,保留唯一的。
例子:
[root@kongd ~]# cat uniq.txt
Welcome to kongd.com
Welcome to kongd.com
Welcome to kongd.com
Welcome to kongd.com
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
[root@kongd ~]# uniq uniq.txt
Welcome to kongd.com
Red Hat certified
Free Linux Lessons
Professional guidance
Linux Course
tr命令
linux tr命令用于转换或删除文件中的字符
tr指令从标准输入设备读取数据,经过字符串转译后,将结果输出到标准输出设备。
语法格式:
tr [-cdst][--help][--version][第一字符串][第二字符串]
tr [OPTION]...SET1[SET2]
tr参数及作用
| 参数 | 作用 |
|---|---|
| -c | 反选设定字符。也就是符号SET1部分不做处理,不符合的剩余部分才进行转换 |
| -d | 删除指令字符 |
| -s | 缩减连续重复的字符成指定的单个字符 |
| -t | 消减SET1指定范围,是指与SET2设定长度相同 |
| –help | 显示程序本身用法信息 |
| –version | 显示程序本身的版本信息 |


