一、sort命令
以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序
命令格式:
sort 选项 参数
cat file | sort 选项
常用选项
-f:忽略大小写
-b:忽略每行前面的空格
-M: 按照月份进行排序
-n:按照数字进行排序
-r:反向排序
-u:等同于uniq,表示相同的数据仅显示一行;去重
-t:指定分隔符,默认使用[Tab]键分隔
-o<输出文件>:将排序后的结果转存至指定文件
-k:指定排序区域 ;与k连用
[root@localhost ~]# cat sort.sh
apple
pear
peach
grape
banana
banana
pineapple
apple
ABC
DEF
[root@localhost ~]# sort -f sort.sh # sort -f 忽略大小写,默认大写字母在前面
ABC
apple
apple
banana
banana
DEF
grape
peach
pear
pineapple
[root@localhost ~]# sort -r sort.sh # sort -r 将文件当中的数倒序排列
pineapple
pear
peach
grape
DEF
banana
banana
apple
apple
ABC
[root@localhost ~]# sort -u sort.sh #sort -u 去重,相同数据仅显示一行
ABC
apple
banana
DEF
grape
peach
pear
pineapple
二、uniq命令
用于报告或者忽略文件中连续的重复行,常与sort命令结合使用
命令格式:
uniq 选项 参数
cat file | uniq 选项
常用选项:
-c:进行计数,并删除文件中重复出现的行
-d:仅显示连续的重复行
-u:仅显示出现一次的行
[root@localhost ~]# cat sort.sh # 查看文件当中的内容
apple
apple
pear
peach
grape
banana
banana
pineapple
ABC
DEF
[root@localhost ~]# uniq -c sort.sh # uniq -c 进行计数并去重
2 apple
1 pear
1 peach
1 grape
2 banana
1 pineapple
1 ABC
1 DEF
[root@localhost ~]# uniq -d sort.sh #uniq -d 只显示连续重复的行
apple
banana
[root@localhost ~]# uniq -u sort.sh #uniq -u 只显示出现一次的行
pear
peach
grape
pineapple
ABC
DEF
三、tr命令
对来自标准输入的字符进行替换、压缩和删除
命令格式:
tr 选项 参数
常用选项:
-c:取代所有不属于第一字符集的字符
-d:删除所有属于第一字符集的字符
-s:把连续重复的字符以单独一个字符表示
-t:先删除第一字符集较第二字符集多出的字符;
1、首先将查看文件,当输入cat sort.sh | tr 'abc' 'ABC'命令的时候,可以将文件当中的所有包含abc的字母都将变为大写ABC
```c
[root@localhost ~]# cat sort.sh
apple
apple
pear
peach
grape
banana
banana
pineapple
ABC
DEF
[root@localhost ~]# cat sort.sh | tr 'abc' 'ABC' #将文件当中的abc变为ABC
Apple
Apple
peAr
peACh
grApe
BAnAnA
BAnAnA
pineApple
ABC
DEF
2、输入cat sort.sh | tr -d 'apple’命令,表示将文件中包含的apple字母将全部删除
[root@localhost ~]# cat sort.sh | tr -d 'apple'
r
ch
gr
bnn
bnn
in
ABC
DEF
3、现在将文件输入包括一些特殊的符号,将进行编辑
[root@localhost ~]# cat sort.sh #此时文件有单引号和空格
apple
apple
pear
peach
'grape'
banana
banana
pineapple
ABC
DEF
4、首先将文件当中的" ’ "换为“/”
[root@localhost ~]# cat sort.sh | tr "'" '/'
apple
apple
pear
peach
/grape/
banana
banana
pineapple
ABC
DEF
5、在将文件中的空行删除
[root@localhost ~]# cat sort.sh | tr -s '\n' # 输入'\n'可以将文件中空行删除
apple
apple
pear
peach
'grape'
banana
banana
pineapple
ABC
DEF
四、cut 列截取命令
命令格式:
cut 选项 参数
常用选项:
-b:按字节截取
-c:按字符截取,常用于中文
-d:指定以什么为分隔符截取,默认为制表符
-f:通常和-d一起
1、截取文本文件中的第一分隔符的内容
[root@localhost ~]# cat /etc/passwd | cut -d : -f1
root
bin
daemon
adm
2、截取文件中第一和第三字节
[root@localhost ~]# cat /etc/passwd | cut -d : -f1,3
root:0
bin:1
daemon:2
adm:3
lp:4
sync:5
3、截取单词当中的第三个字母
[root@localhost ~]# cat sort.sh | cut -c 3
p
p
a
a
r
n
n
n
C
F