中易网

一很多行文本文件,每行内容"字符串A 空格 数字B",怎么按数字B大小给该文本重新排序?要批处理或Unix命令行

答案:2  悬赏:30  
解决时间 2021-04-09 08:15
例如a.txt文件如下
6203151qd 6
505709296 2
a405013702 2
meiying1374 1
xiaokan1 2
15423213 2
845581338 2
zq77279657 1
1985101745 1
long2401 1
lx510258 4
BF688P2N6 2
aa5361711 1
希望经过处理的b.txt如下:
6203151qd 6
lx510258 4
505709296 2
a405013702 2
BF688P2N6 2
xiaokan1 2
15423213 2
845581338 2
zq77279657 1
1985101745 1
long2401 1
meiying1374 1
aa5361711 1
数字B相同的,是否按字符串A排序无所谓。原文件每行内除了分隔前面字符串和后面数字有一个空格外,无其他控制字符。dos批处理命令或者Linux命令行方式均可以。不要为此专门编程。谢谢!
最佳答案
Linux sort 命令最强,下面的命令满足你的最基本需求 (用下面的命令,你甚至可以多出一个 第三列,也没关系)
sort -k 2,2nr a.txt

如果希望先按照第二列按数字大小倒序(大到小)排列,再按照第一列顺序排列,可以
sort -k 2,2nr -k 1,1 a.txt
全部回答
批处理比较难点,用数据库就很简单,mssql的导入向导,分隔符为空格,导入后,有两个字段,字段1,字段2,字段2就是数字了,对字段2进行降序排列 select * from table1 order by 字段2 desc 在导出成txt就可以了..... 如果行不太多,excel也可以实现,打开文本文件,选分割符,然后排序,在另存为,或复制粘贴都可以 2003版本的要小于6万行,2007 的好像没有限制,但太多的排序可能会很慢
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英雄联盟为什么又要打定级赛了
为什么我消息推送一次,可是却收到多条一样的
如何对excel表格垂直翻转
淘宝号借给别人注册开淘宝店对自己有没有影响
广州有什么比较休闲的地方适合公司集体去玩?
自己怎么塞开塞露
为什么买纸钱,寿衣什么的不能还价?有什么讲
怎么看屏幕的生产厂商
ei谁知道素质拓展游戏“急速60秒”中30个数字
增值型内部审计和内部审计的增值作用是一样的
为什么在自己家有时也迷方向, 但一出去就不
人生日历怎么样,人生日历好用吗
人为什么会说梦话而且会梦游??
请问学尔森教育是集团性质的吗?学校怎么样?
望着久旱后的麦苗痛快的汝吸着春雨时会想起哪
推荐资讯
请问我该买四驱还是两驱的皮卡
人类为什么不能驯服更加凶猛的野生动物
honor 型号che2tloom多少钱
临沂兰山那有卖家用吸尘器的
严记骨头煲怎么去啊,有知道地址的么
信用卡两年七次逾期影响公积金贷款吗
造句:人们从《……》中学得……(至少五句)
PHOTOSHOP里面ctrl+shift+s保存和chrl+shift+
有人说说欧派世家暖气片好不好吗?想了解下呢
1名老师和5位同学站成一排照相,老师不站在两
子洲县群众工作部在什么地方啊,我要过去处理
当我看到自己影子的时候我只想静静的欣赏什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?