sort、uniq、tr和cut用法

一、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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值