Questions tagged «sort»

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

18
您如何按尺寸对输出进行排序?
您如何du -sh /dir/*按大小排序?我读了一个说使用的网站,| sort -n但这显然是不对的。这是一个错误的例子。 [~]# du -sh /var/* | sort -n 0 /var/mail 1.2M /var/www 1.8M /var/tmp 1.9G /var/named 2.9M /var/run 4.1G /var/log 8.0K /var/account 8.0K /var/crash 8.0K /var/cvs 8.0K /var/games 8.0K /var/local 8.0K /var/nis 8.0K /var/opt 8.0K /var/preserve 8.0K /var/racoon 12K /var/aquota.user 12K /var/portsentry 16K /var/ftp 16K /var/quota.user …

3
对行的出现次数进行排序和计数
我有Apache日志文件,access.log该如何计算该文件中的行数?例如,结果cut -f 7 -d ' ' | cut -d '?' -f 1 | tr '[:upper:]' '[:lower:]'为 a.php b.php a.php c.php d.php b.php a.php 我想要的结果是: 3 a.php 2 b.php 1 d.php # order doesn't matter 1 c.php
144 command-line  sort 

5
根据第三列排序
我面临着一个巨大的4列文件。我想根据其第三列在stdout中显示排序后的文件: cat myFile | sort -u -k3 这足以执行技巧吗?
130 files  sort 

10
列出按数字排序的文件
我有一堆文件,从log1到log164。 我正在尝试在UNIX终端中列出目录(已排序),但是sort函数仅提供如下格式: home:logs Home$ ls -1 | sort log1.gz log10.gz log100.gz log101.gz log102.gz log103.gz log104.gz log105.gz log106.gz ...etc 我想要的是 home:logs Home$ ls -1 | sort log1.gz log2.gz log3.gz log4.gz log5.gz log6.gz log7.gz ...{more here} log99.gz log100.gz log101.gz log102.gz ...etc 有什么建议可以用来做这件事吗?
122 ls  filenames  sort  numbering 


2
尝试对两个字段进行排序,然后是第二个,然后是第一个
我正在尝试对多个列进行排序。结果不符合预期。 这是我的数据(people.txt): Simon Strange 62 Pete Brown 37 Mark Brown 46 Stefan Heinz 52 Tony Bedford 50 John Strange 51 Fred Bloggs 22 James Bedford 21 Emily Bedford 18 Ana Villamor 44 Alice Villamor 50 Francis Chepstow 56 以下内容可以正常工作: bash-3.2$ sort -k2 -k3 <people.txt Emily Bedford 18 James Bedford 21 …
106 sort 

4
排序是否支持按原样对文件进行排序,例如`sed --in-place`?
我是盲人还是没有像这样的--in-place选择sort? 为了将结果保存到输入文件中,sed使用-i(--in-place)。 将输出重定向sort到输入文件 sort < f > f 导致将其清空。如果没有--in-place选择-也许有一些技巧可以方便地做到这一点? (我唯一想到的是: sort < f > /tmp/f$$ ; cat /tmp/f$$ > f ; rm /tmp/f$$ 移动不是正确的选择,因为可能会更改文件权限。这就是为什么我用临时文件的内容覆盖的原因,然后将其删除。)

4
对“查找”的输出进行排序?
在将其find通过管道传递给命令之前,我需要能够按字母顺序对输出进行排序。| sort |在两者之间输入无效,那么我该怎么办? find folder1 folder2 -name "*.txt" -print0 | xargs -0 myCommand
77 shell  find  sort  xargs 

7
如何删除.bash_history中的重复项并保留顺序?
我非常喜欢使用control+r递归搜索命令历史记录。我发现了一些喜欢使用的不错的选择: # ignore duplicate commands, ignore commands starting with a space export HISTCONTROL=erasedups:ignorespace # keep the last 5000 entries export HISTSIZE=5000 # append to the history instead of overwriting (good for multiple connections) shopt -s histappend 对我来说,唯一的问题是erasedups仅擦除连续的重复项-因此使用以下命令字符串: ls cd ~ ls 该ls命令实际上将被记录两次。我考虑过定期运行cron: cat .bash_history | sort | uniq > temp.txt …

11
排序,但标题行保持在顶部
我从一个程序中获得输出,该程序首先产生一行,该行是一堆列标题,然后是一串数据。我想剪切此输出的各个列,并查看根据各个列排序的内容。如果没有标题,则可以通过-k选择sort与列的子集一起cut或awk查看列的子集来轻松完成剪切和排序。但是,这种排序方法将列标题与其余的输出行混合在一起。有没有一种简单的方法可以将标题保留在顶部?

2
awk'!a [$ 0] ++'如何工作?
这种单行代码无需预先排序即可从文本输入中删除重复的行。 例如: $ cat >f q w e w r $ awk '!a[$0]++' <f q w e r $ 我在互联网上找到的原始代码为: awk '!_[$0]++' 这让我更加困惑,因为我_在awk中有特殊的含义,就像在Perl中一样,但事实证明,这只是数组的名称。 现在,我了解了单线背后的逻辑: 每条输入行都用作哈希数组中的键,因此,完成后,哈希按到达顺序包含唯一的行。 我想学习的是awk如何准确地解释此表示法。例如,爆炸符号(!)的含义以及此代码段的其他元素。 它是如何工作的?

3
如何排序大文件?
我有一台装有Intel(R)Pentium(R)CPU G640 @ 2.80 GHz和8 GB RAM的PC。我正在使用EXT3文件系统在其上运行Scientific Linux 6.5。 在这种设置下,sort -u对200 GB的文件进行刻录的最快方法是什么? 我是否应该将文件拆分为较小的文件(小于8 GB)sort -u,将它们放在一起,然后再次以不同的大小拆分sort -u,等等?还是有任何排序脚本,程序可以用有限的RAM来处理这么大的文件?
35 sort 

2
为什么排序-o有用?
UNIX哲学说:一件事做好。制作处理文本的程序,因为这是一个通用接口。 该sort命令(至少是GNU排序)可以-o选择输出到文件而不是stdout。例如,为什么sort foobar -o whatever在我可以的时候有用sort foobar > whatever?



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.