Questions tagged «sort»

对文本文件或其他数据进行排序,例如使用sort实用程序。

5
如何分类人类可读的大小
我基本上是在寻找文件,然后按大小排序。如果我不按照人类可读的大小对脚本进行排序,那么该脚本就可以工作。但我希望尺寸能被人类读取。如何排序人类可读的尺寸? 例如: ls -l | sort -k 5 -n | awk '{print $9 " " $5}' 这按预期工作,我得到的文件大小以字节为单位递增: 1.txt 1 test.txt 3 bash.sh* 573 DocGeneration.txt 1131 andres_stuff.txt 1465 Branches.xlsx 15087 foo 23735 bar 60566 2016_stuff.pdf 996850 现在,我希望该大小能被人类读取,因此我在ls中添加了-h参数,现在某些文件出现了故障: ls -lh | sort -k 5 -n | awk '{print $9 " " $5}' …
11 find  ls  sort 

13
如何用数字对一行分隔的项目进行排序?
我有一行(或多行)数字,这些数字由任意字符定界。我可以使用哪些UNIX工具对每一行的项目进行数字排序,并保留定界符? 示例包括: 数字列表;输入:10 50 23 42; 排序:10 23 42 50 IP地址; 输入:10.1.200.42; 排序:1.10.42.200 CSV; 输入:1,100,330,42; 排序:1,42,100,330 竖线分隔;输入:400|500|404; 排序:400|404|500 由于定界符是任意的,因此可以使用选择的单字符定界符随意提供(或扩展)答案。

1
如何根据字段的一部分对文件进行排序
我想对文件进行排序: D104HN-D104HA 8.320 4.521 1.69e+05 -- D104HN-D104HB* 8.320 2.823 2.93e+05 -- A90HB#-A90HA 1.655 4.207 7.12e+05 -- A90HB#-F91HA 1.653 4.411 8.59e+04 -- A114HB#-A114HA 1.253 4.098 7.67e+05 -- A114HB#-R111HA 1.251 3.929 1.76e+05 -- A114HB#-W110HA 1.253 4.451 3.68e+04 -- F91HE*-F91HZ 7.237 7.122 7.85e+05 -- F91HE*-K92HA 7.242 3.910 4.88e+04 -- 并得到这个 A90HB#-A90HA 1.655 4.207 …

4
根据匹配字段对列总和
我有一个以下格式的大文件: 2 1019 0 12 2 1019 3 0 2 1021 0 2 2 1021 2 0 2 1022 4 5 2 1030 0 1 2 1030 5 0 2 1031 4 4 如果第2列中的值匹配,我想对两行的第3列和第4 列中的值求和,否则仅对唯一行中的值求和。 所以我希望的输出看起来像这样: 2 1019 15 2 1021 4 2 1022 9 2 1030 6 2 1031 …

3
排序数据更快的方法
我需要将bed文件随机排序10000次,并且每次都要获取前1000行。当前,我正在使用以下代码: for i in {1..100}; do for j in {1..100}; do sort -R myfile.bed_sorted | tail -n 1000 > myfile.bed.$i.$j.bed done done 每个文件大约要花6个小时。我大约有150个需要解决。有更快的解决方案吗? 我有一个数据样本(myfile.bed_sorted): chr1 111763899 111766405 peak1424 1000 . 3224.030 -1 -1 chr1 144533459 144534584 peak1537 998 . 3219.260 -1 -1 chr8 42149384 42151246 peak30658 998 . 3217.620 -1 …
11 sort 


5
在保持顺序的同时删除相邻的重复行
我有一个带有一列的文件,每个文件的名称重复多次。我想将每个重复压缩为一个,同时保留与相同名称的其他重复不相邻的任何相同名称的重复。 例如,我想将左侧转向右侧: Golgb1 Golgb1 Golgb1 Akna Golgb1 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna Akna Spata20 Spata20 Spata20 Golgb1 Golgb1 Golgb1 Akna Akna Akna 这就是我一直在使用的perl -ne 'print if ++$k{$_}==1' file.txt > file2.txt 方法:但是,此方法仅使左边代表一个(即,Golb1和Akna不再重复)。 有没有一种方法可以为每个块保留唯一的名称,同时保留在多个不相邻的块中重复的名称?
11 awk  sed  sort  uniq 

3
按时间排序
我可能放错了一个简单的解决方案。如何获得atq按时间顺序排序的输出,这样我就可以轻松查看接下来要运行的是谁?的man页面sort没有任何可识别时间戳的内置内容,如下所示: atq 1264 Sat Mar 24 15:03:00 2012 a master 1445 Sat Mar 24 20:28:00 2012 a master 1548 Sun Mar 25 15:09:00 2012 a master 1193 Sat Mar 24 11:03:00 2012 a master 1359 Sat Mar 24 17:13:00 2012 a master 1726 Mon Mar 26 21:24:00 2012 a master …
11 date  sort  at 

2
我的“ uniq”或“ sort -u”行哪里去了,带有一些unicode字符
以下代码段中发生了什么?我没有得到预期的输出。 我认为这是一个错误,但是它发生在2个不同的程序(uniq和sort)上,所以我怀疑这与...有关,嗯,我不知道该怎么办。 前4个示例中的前3个有效,但第4个失败! 我希望所有字符都具有相同的行为。 即。打印出2行(从输入的3行)...但是在第4种情况下,我只有1行(对于sort -u和uniq);两条相同的林消失了! 我已将输出'\ n'转换为空格以实现视图的紧凑性。 我正在使用uniq并从(GNU coreutils)7.4 排序 ...在Ubuntu 10.04.3 LTS桌面上运行。 剧本: { locale -k LC_COLLATE echo for c1 in x 〼 ;do for c2 in z 〇 ;do echo -n "asis : "; echo -e "$c1\n$c2\n$c2" |tr '\n' ' ';echo echo -n "uniq : "; echo …

5
Unix中的带数字排序的排序命令
我有file1: "$lvl=57" "$lvl=20" "$lvl=48" "$lvl=17" "$lvl=58" 我想要的File2: "$lvl=17" "$lvl=20" "$lvl=48" "$lvl=57" "$lvl=58" 基本上按数字排序file1。
10 sort 

4
内联排序字段
我正在尝试在未知数量的字段的输入行中进行排序: 输入: ab bc bc ab cd ef bc bc cd ef cd bc ab ef ab bc cd gh 输出: ab bc ab bc bc cd ef bc cd ef ab cb cd ab bc cd ef gh 我一直在使用类似的东西,awk '{if($2 < $1) print $2,$1;else print}'但似乎在两个以上的领域上都会变得混乱。有什么帮助吗?

1
gnu coreutils是否已损坏?
考虑以下输入进行排序: cat > foo <<EOM D,,5014978 DD,,25 D,I,1972765530 D,Y,4223624 -,Y,71285059 YA,I,2 EOM 现在尝试运行 sort foo 在我的任何Linux机器上尝试对输出进行排序时(gnu coreutils 6.9-7.4版)。在cygwin(gnu coretuils 8.5)下运行时,输出进行排序。注释?
10 bash  coreutils  sort 

3
如何以排序顺序对文件进行tar处理?
如果tar是递归目录,则仅使用os的顺序readdir。 但是在某些情况下,最好对已排序的文件进行tar处理。 对按字母顺序排序的目录进行压缩的好方法是什么? 注意,出于这个问题的目的,在典型的Linux系统上使用gnu-tar是可以的。
10 linux  tar  sort 

6
Bash根据元素的长度对数组进行排序?
给定一个字符串数组,我想根据每个元素的长度对该数组进行排序。 例如... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) 应该排序为... "the longest string in the list" "also a medium string" "medium string" "middle string" "short string" "tiny string" (此外,如果列表按字母顺序对相同长度的字符串进行排序,那将是很好的选择。在上面的示例medium string中,middle string即使它们的长度相同,也对它们进行了排序。但这不是一个“硬”的要求,如果这样会使字符串复杂化,解)。 可以就地对数组进行排序(即修改“数组”)或创建新的排序数组都可以。

2
使用GNU排序按单个键排序/防止对其他键进行不必要的排序
我有一个包含已排序数据的文件,我想根据一个键中的值对文件重新排序,而又不破坏其他键中数据的顺序。 如何防止GNU排序根据未指定的键的值执行行排序,或者如何指定GNU排序以在排序时忽略键的范围? 文件data.txt: 1 Don't 2 C 1 Sort 2 B 1 Me 2 A 预期产量: 1 Don't 1 Sort 1 Me 2 C 2 B 2 A 命令: sort -k 1,1 <data.txt 结果:我没有要求的不需要的排序: 1 Don't 1 Me 1 Sort 2 A 2 B 2 C
9 sort 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.