Linux 对内存中的所有数据进行排序

0 linux sorting

对于 Linux 命令排序,如何强制排序将所有输入加载到内存中并假设我有足够的内存进行排序?或者最好在输入之前使用 RAMDISK 来存储输入以进行排序?

vir*_*tor 8

您可以指定临时目录不存在并更改主内存大小参数。但是,如果您没有足够的内存,这将导致排序失败:

$ sort -S 1000 -T /nonexistant/dir /usr/share/dict/words | wc -l 
sort: cannot create temporary file in `/nonexistant/dir': No such file or directory
0
$ sort -S 10000 -T /nonexistant/dir /usr/share/dict/words | wc -l
98569
Run Code Online (Sandbox Code Playgroud)

-S选项的单位是 kB(请参阅下面的注释)。

  • 除非您添加后缀,否则`-S` 的单位是kB,例如`-S 1000` = 1024000 字节,`-S 1000b` = 1000 字节,`-S 1%` = 1% 的物理内存。请参阅选项列表下方的“SIZE”说明或超文本手册。 (2认同)