例如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命令行方式均可以。不要为此专门编程。谢谢!
一很多行文本文件,每行内容"字符串A 空格 数字B",怎么按数字B大小给该文本重新排序?要批处理或Unix命令行
答案:2 悬赏:30
解决时间 2021-04-09 08:15
- 提问者网友:妖精ξ也會哭
- 2021-04-08 23:55
最佳答案
- 二级知识专家网友:24K纯糖
- 2021-04-09 00:07
Linux sort 命令最强,下面的命令满足你的最基本需求 (用下面的命令,你甚至可以多出一个 第三列,也没关系)
sort -k 2,2nr a.txt
如果希望先按照第二列按数字大小倒序(大到小)排列,再按照第一列顺序排列,可以
sort -k 2,2nr -k 1,1 a.txt
sort -k 2,2nr a.txt
如果希望先按照第二列按数字大小倒序(大到小)排列,再按照第一列顺序排列,可以
sort -k 2,2nr -k 1,1 a.txt
全部回答
- 1楼网友:孤伤未赏
- 2021-04-09 01:16
批处理比较难点,用数据库就很简单,mssql的导入向导,分隔符为空格,导入后,有两个字段,字段1,字段2,字段2就是数字了,对字段2进行降序排列
select * from table1
order by 字段2 desc
在导出成txt就可以了.....
如果行不太多,excel也可以实现,打开文本文件,选分割符,然后排序,在另存为,或复制粘贴都可以
2003版本的要小于6万行,2007 的好像没有限制,但太多的排序可能会很慢
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |