一.grep行截取
1.作用:
grep可以用来截取文件的查询,也可以用来过滤普通文件的内容。但截取出结果是一行
2.格式
grep [参数] 文件
3.参数
-C<显示行数> --context=<显示行数>或-<显示行数> // 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-c --count // 计算符合范本样式的列数。
-d<进行动作> --directories=<动作> // 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
-E --extended-regexp // 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-i --ignore-case // 忽略字符大小写的差别。
-n --line-number // 显示匹配行及行号。
-v --revert-match // 反转查找。
正则表达式
\: 忽略转义字符的原有含义
^:匹配表达式中是以什么开始
$:匹配表达式中是以什么结尾
[ ]:匹配单个字符
[ - ]:匹配一个范围,如[A-Z]
[ , ]:匹配多个字符,如[q,w],匹配q或w字符,多个字符可以写多个逗号
?:匹配任意单个字符。
* :匹配字符长度为0或者任意的长度
二.cut列截取
1.作用:
cut可以将表格数据(如/etc/passwd)中以列截取过滤
2.格式
grep [参数] 文件
3.参数
-b :以字节为单位进行分割
-c :以字符为单位进行分割
-d :自定义分隔符,默认为制表符
-f :与-d一起使用,指定显示哪个区域
-n :取消分割多字节字符
三.sort字段排序
1.作用
sort 命令常用于字段排序
2.格式
sort [参数] 文件
3.参数
-b :忽略每行前面的空白区域
-d :只考虑处理空格和字母字符,数字
-f :忽略字母大小写
-m:合并已经排序的文件,不排序
-n :根据字符串的数字比较
-o :将排序后的结果写入文件
-r :以降序来排序(sort默认升序,加使用-n选项可以翻转排序)
-t :指定排序时所用的分隔字符
-k :指定需要排序的栏位(列,域)
-u :忽略相同行,去除相同行。
四.uniq
1.作用
uniq用于处理重复数据,使用前先使用sort排序。
2.格式
uniq [参数]
3.参数
-c:在数据行前出现的次数
-d:只打印重复的行,重复的行只显示一次
-D:只打印重复的行,重复的行出现多少次就显示多少次
-f:忽略行首的几个字段
-i:忽略大小写
-s:忽略行首的几个字母
-u:只打印唯一的行
-w:比较不超过n个字母
五.tee
1.作用
既可以输出保存到文件中,又可以在屏幕上看到输出内容
2.格式
tee [参数] 文件
3.参数
-a :附加到既有文件的后面,而非覆盖它。
-i :忽略中断信号
六.diff
1.作用
diff命令用于比较两个文件的差别,拥有三种模式:
* 正常格式(默认)
* 上下文格式
* 合并格式
2.格式
diff [参数] 文件1 文件2
3.参数
-b:不检查空格
-B:不检查空白行
-i:不检查大小写
-W:忽略所有的空格
--normal:正常格式显示
-c:上下文显示
-u:合并格式显示
4.案例
我最喜欢合并模式,这里只展示合并模式
[root@local ~]# cat ./file1
qqq
aaa
123
111
[root@local ~]# cat ./file2
yyy
qqq
aaa
123
11
1
七.paste
1.作用
paste用于合并文件行
2.格式
paste [参数] 文件1 文件2
3.参数
-d:自定义分割行,默认是tab
-s:串行处理,非并行处理(默认并行处理)
八.tr
1.作用
tr用于字符转换、替换和删除,主要用于删除文件中的控制字符或进行字符转换
2.格式
tr [参数] ‘字符串1’ ‘字符串2’ <文件
用字符串2替换字符串1的内容,可以匹配正则
3.参数
-d, --delete:删除文件中字符
-s, --squeeze-repeats:把连续重复的字符以单独一个字符表示