1.grep
功能描述:
在文件中查找并显示包含指定字符串的行
语法:
grep [选项]… 查找条件 目标条件
常用命令选项:
选项 | 功能作用 |
---|---|
-i | 查找时忽略大小写 |
-v | 反转查找,输出与查找条件不相符的行 |
-l | 列出文件内容符合指定的样式的文件名称 |
-An | 搜索时显示匹配到的那一行以及下n行 |
-Bn | 搜索时显示匹配到的那一行以及上n行 |
-Cn | 搜索时显示匹配到的那一行以及上下n行 |
查找条件设置:
要查找的字符串以双引号引起来
范例:
[root@localhost ~]# grep root /etc/passwd #在/etc/passwd文件中过滤出含有root的行
[root@localhost ~]# grep --color root /etc/passwd #对匹配的关键字显示颜色
[root@localhost ~]# grep -i ROOT /etc/passwd #不区分大小写
[root@localhost ~]# grep -v root /etc/passwd #反向过滤
#过滤出hosts文件中的非注释行(不以“#”号开头的行)
[root@localhost ~]# grep -v "^#" /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#查找系统启动识别的USB总线信息
2.cut
功能描述:
命令用于显示每行从开头算起num1到num2的文字;
语法:
cut [选项]
选项:
选项 | 功能作用 |
---|---|
-b | 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了-n标志 |
-c | 以字符为单位进行分割 |
-d | 自定义分隔符,默认为制表符 |
-f | 与-d一起使用,指定显示哪个区域 |
-n | 取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除 |
范例:
#打印/etc/passwd文件中每一行的第一个字段
[root@localhost ~]# cut -d ":" -f 1 /etc/passwd
[root@localhost ~]# grep "/bin/bash" /etc/passwd | cut -d ":" -f 1,6
思考: 如何过滤出机器的IP地址?
3.sort
功能描述:
用于将文本文件内容加以排序;
语法:
sort [选项] [文件]
选项:
选项 | 功能作用 |
---|---|
-b | 忽略每行前面开始出的空格字符 |
-c | 检查文件是否已经按照顺序排序 |
-d | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符 |
-f | 排序时,将小写字母视为大写字母 |
-i | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符 |
-m | 将几个排序好的文件进行合并 |
-M | 将前面3个字母依照月份的缩写进行排序 |
-n | 按照数值的大小排序 |
-k | 定义排序键值字段 |
-u | 意味着是唯一的(unique),输出的结果是去完重了的 |
-o<输出文件> | 将排序后的结果存入指定的文件 |
-r | 以相反的顺序来排序 |
-t<分隔字符> | 指定排序时所用的栏位分隔字符 |
+<起始栏位>-<结束栏位> | 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位 |
–help | 显示帮助 |
–version | 显示版本信息 |
范例:
按照数值大小排序:sort -n 文件名
排序并去掉重复的:sort -u 文件名
逆序排序:sort -r 文件名
按照用户的uid数字大小排序显示:
sort -t 指定分隔符 -k 指定第几列 -n /etc/passwd