首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅使用k1,1执行排序

仅使用k1,1执行排序
EN

Stack Overflow用户
提问于 2015-02-07 23:18:27
回答 1查看 1.9K关注 0票数 2

假设您有一个未排序的文件,其内容如下:

代码语言:javascript
复制
identifier,count=Number
identifier, extra information
identifier, extra information
...

我想对这个文件进行排序,以便对于每个id,先用计数写出行,然后用额外的信息写行。我只能使用带有选项-k1,1的排序unix命令,但可以稍微修改行以获得这类命令。

举个例子,

代码语言:javascript
复制
a,Count=1
a,giulio
aa,Count=44
aa,tango
aa,information
ee,Count=2
bb,que
f,Count=3
b,Count=23
bax,game
f,ee
c,Count=3
c,roma
b,italy
bax,Count=332
a,atlanta
bb,Count=78
c,Count=3

输出应该是

代码语言:javascript
复制
a,Count=1
a,atlanta
a,giulio
aa,Count=44
aa,information
aa,tango
b,Count=23
b,italy
bax,Count=332
bax,game
bb,Count=78
bb,que
c,Count=3
c,roma
ee,Count=2
f,Count=3
f,ee

但我明白:

代码语言:javascript
复制
aa,Count=44
aa,information
aa,tango
a,atlanta
a,Count=1
a,giulio
bax,Count=332
bax,game
bb,Count=78
bb,que
b,Count=23
b,italy
c,Count=3
c,Count=3
c,roma
ee,Count=2
f,Count=3
f,ee

我尝试在标识符的末尾和/或计数字段和其他字符的开头添加空格,但这些方法都不起作用。

有关于如何执行这个排序的指针吗?

编辑:例如,如果考虑以a开头带有id的产品,其中一个产品的信息是‘亚特兰大’,出现在计数之前(但我希望计数出现在任何信息之前)。此外,bb应按ids的字母顺序在b之后。为了使我的问题更清楚:我如何获得按字母顺序排序的ID,对于给定的ID,计数行出现在其他ID之前。以及如何使用排序-k1,1 (这是我正在处理的组项目,我不能自由地更改排序命令)和可能更改内容(例如,我尝试在所有信息中添加一个'~‘,以便计数在前面)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-07 23:40:19

您需要告诉排序,逗号用作字段分隔符。

代码语言:javascript
复制
sort -t, -k1,1

对于ASCII排序,请确保LC_ALL=C、LANG和LANGUAGE未设置

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28388653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档