sort、uniq、tr、cut、eval等小工具

这篇博客详细介绍了Linux中常见的命令行工具,包括sort命令的排序功能及其-n、-r、-u、-t -k等选项,uniq命令的去重功能及-c、-d、-u选项,tr命令的字符替换、删除和压缩操作,cut命令的字段截取,以及eval命令的二次解析作用。通过实例展示了这些命令在实际工作中的应用。
摘要由CSDN通过智能技术生成

目录

一、sort命令

1. sort的作用

2. 语法格式

3. 常用选项

4. 使用实例

二、uniq命令

1. uniq的作用

2. 语法格式

3. 常用选项

4. 使用实例

三、tr命令

1. tr的作用

2. 语法格式

3. 常用选项

4. 使用实例

四、cut命令

1. cut的作用

2. 语法格式

3. 常用选项

4. 使用实例

五、eval命令

1. eval的作用

2. 使用实例

总结


一、sort命令

1. sort的作用

以行为单位对文件的内容进行排序,也可以根据不同的数据类型来排序。

2. 语法格式

sort [选项] 参数
cat file | sort 选项

3. 常用选项

常用选项 说明
-f 忽略大小写,会将小写字母都转换为大写字母来进行比较
-b 忽略每行前面的空格
-n 按照数字进行排序
-r 反向排序
-u 等同于uniq,表示相同数据仅显示一行
-t 指定字段分隔符,默认使用[Tab]键分割
-k 指定排序字段
-o <输出文件>

将排序后的结果转存至指定文件

4. 使用实例

(1)sort命令

sort排序,首先比较每行第一个不为空的字符,按照空行>数字>字母(小写>大写)的优先级进行排序。若第一个字符相同,将比较第二个不为空的字符,以此类推。

[root@localhost ~]# cat test1.txt 
one
two
three
four
five
six
seven
eight
Eight
EIGHT

1
11
 12
2
3
4
[root@localhost ~]# sort test1.txt 

1
11
 12
2
3
4
eight
Eight
EIGHT
five
four
one
seven
six
three
two

(2)-f选项

使用-f选项,使得大写字母优先于小写字母排序。

[root@localhost ~]# sort -f test1.txt

 12
1
11
2
3
4
EIGHT
Eight
eight
five
four
one
seven
six
three
two

(3)-n选项

由于sort命令是按照字符顺序进行比较,无法对数字进行有效排序。当我们需要对数字进行排序时,可使用-n选项。

[root@localhost ~]# sort -n test1.txt

eight
Eight
EIGHT
five
four
one
seven
six
three
two
1
2
3
4
11
 12

(4)-r选项

使用-r选项,可以反向排序

[root@localhost ~]# sort -r test1.txt
two
three
six
seven
one
four
five
EIGHT
Eight
eight
4
3
2
 12
11
1

(5)-u选项

使用-u选项,去重,将重复行显示为一行。

[root@localhost ~]# cat test2.txt 
1
2
100
45
3
333
444
10
145
75
333
444
555
155
666
777
[root@localhost ~]# sort test2.txt 
1
10
100
145
155
2
3
333
333
444
444
45
555
666
75
777
[root@localhost ~]# sort -u test2.txt 
1
10
100
145
155
2
3
333
444
45
555
666
75
777

(6)-t -k选项

使用-t选项,可指定分隔符;-k选项指定排序列。
可使用“sort -t ':' -k3 -n /etc/passwd”命令对/etc/passwd文件的第三列按照数字大小进行排序。

[root@localhost ~]# sort -t ':' -k3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
gnome-initial-setup:x:991:986::/run/gnome-initial-setup/:/sbin/nologin
sssd:x:992:987:User for sssd:/:/sbin/nologin
geoclue:x:993:988:User for geoclue:/var/lib/geoclue:/sbin/nologin
chrony:x:994:990::/var/lib/chrony:/sbin/nologin
setroubleshoot:x:995:993::/var/lib/setroubleshoot:/sbin/nologin
saslauth:x:996:76:Saslauthd user:/run/saslauthd:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
123456:x:1000:1000:123456:/home/123456:/bi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值