bash 对列进行排序但不对相同的列进行排序

标签 bash shell sorting

我的文件包含:

9827259163,0,D<br>
9827961481,0,D<br>
9827202228,0,A<br>
9827529897,5,D<br>
9827529897,0#1#5#8,A<br>
9827700249,0#1,A<br>
9827700249,1#2,D<br>
9883219029,0,A<br>
9861065312,0,A<br>

我希望它根据第一列进行排序,如果第一列中的记录相同,则不要对这些记录进行进一步排序。

$ 排序 -t, -k1,1 测试
9827202228,0,A
9827259163,0,D
9827529897,0#1#5#8,A
9827529897,5,D
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

但我期望的是:

9827202228,0,A
9827259163,0,D
9827529897,5,D
9827529897,0#1#5#8,A
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

因为 98275298979827700249 有两条记录,所以不应该进一步排序。

请推荐bash shell中的命令

最佳答案

添加选项-s

 sort -st, -k1,1 test

输出:

9827202228,0,A
9827259163,0,D
9827529897,5,D
9827529897,0#1#5#8,A
9827700249,0#1,A
9827700249,1#2,D
9827961481,0,D
9861065312,0,A
9883219029,0,A

关于bash 对列进行排序但不对相同的列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9176891/

相关文章:

javascript - 使用 StupidTable JS 和日期列进行排序

xml - 如果使用标准 linux 工具包含特定字符串,如何从 xml 文件中提取整个记录

linux - Bash 脚本 - 自动填写答案

linux - Shell 脚本如果 elif 使用需要建议

linux - 如何从文件中复制一些行并粘贴到ubuntu linux中的另一个文件

linux - 找出 Linux 中的剩余时间

python - 将 python 函数作为 bash 命令运行

bash - 在 shell 脚本中使用 read 命令逐行读取输入文件会跳过最后一行

c++ - 在将项目插入链接列表后排序?

javascript - 通过在 javascript 中连接对象数组,排序或插入效率更高吗?