Linux 对文件中的第三个数字列进行反向排序
在bashshell脚本中,我有users.txt文件Linux 对文件中的第三个数字列进行反向排序,linux,bash,shell,sorting,command-line-interface,Linux,Bash,Shell,Sorting,Command Line Interface,在bashshell脚本中,我有users.txt文件 sort-t:-k3n users.txt给了我 gg:g@g.g: ff:f@f.f:5 gdr:d@sd.ds:5 g:w@f.com:8 r:w@d.com:85 qaws:aaa@d.com:789 qaz:a@s.com:789 vcf:d@c.com:855 op:popo@ppoo.po:6465 zx:a@c.com:7845 az:a@aa.com:7894 w:a@a.com:7894 h:g@g.com:7899
sort-t:-k3n users.txt
给了我
gg:g@g.g:
ff:f@f.f:5
gdr:d@sd.ds:5
g:w@f.com:8
r:w@d.com:85
qaws:aaa@d.com:789
qaz:a@s.com:789
vcf:d@c.com:855
op:popo@ppoo.po:6465
zx:a@c.com:7845
az:a@aa.com:7894
w:a@a.com:7894
h:g@g.com:7899
lp:l@l.com:8888
t:s@s.com:85474
dssdfsdf:fssdf@mbhkj.sdf:654654
u:f@g.comn:6546546
a:a@a.com:7894561
tt:t@t.t:1234567890
这没关系。但我需要第三列,其中只包含电话号码的倒序,即降序。如何做到这一点
我需要像
tt:t@t.t:1234567890
a:a@a.com:7894561
u:f@g.comn:6546546
dssdfsdf:fssdf@mbhkj.sdf:654654
t:s@s.com:85474
lp:l@l.com:8888
and so on...
您可以在订单列规范中添加
r
(缩写为“reverse”):
$ sort -t: -k 3nr users.txt
# Here ---------^
您可以在订单列规范中添加
r
(缩写为“reverse”):
$ sort -t: -k 3nr users.txt
# Here ---------^
我正在尝试
sort-r-t:-k3n users.txt
。我正在学习bash并制作简单的CRUD()。你能告诉我为什么sort-t:-k=3nr users.txt
给了我错误吗?在“man sort
”中,文档显示-k,--key=KEYDEF
,因此我认为我们可以使用=
运算符分配它。Ori正在尝试排序-r-t:-k3n users.txt
。我正在学习bash并制作简单的CRUD()。你能告诉我为什么sort-t:-k=3nr users.txt
给了我错误吗?在“man sort
”中,文档显示-k,--key=KEYDEF
,因此我认为我们可以使用=
操作符来分配它