标签: sort

如何从终端对文本文件中的行进行排序?

我必须在我的课堂实验室的文件中对 GPA 进行排序。老师用的是putty,对于我们这些在课堂上选择使用Ubuntu的人来说,升序降序的命令不知道怎么做。

software-sources sort system-info

4
推荐指数
1
解决办法
2万
查看次数

排序命令在数字上无法按预期工作

这是我的 list.txt:

a    100
b    300
A    50
e    75
1    10
Run Code Online (Sandbox Code Playgroud)

我运行了以下命令:

sort -k2,2 list.txt
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

1    10
a    100
b    300
A    50
e    75
Run Code Online (Sandbox Code Playgroud)

我试图只对第二列进行排序。根据维基百科,我上面的命令应该给我下面的结果。

a 10
b 50
A 75
e 100
1 300
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

https://en.wikipedia.org/wiki/Sort_(Unix)

command-line sort

4
推荐指数
1
解决办法
1779
查看次数

排序值和 grepping 最好的分数(最高数字)

我有一个看起来像这样的文件:

    7  C00000002 score:  -41.156 nathvy =  49 nconfs =         2251
    8  C00000002 score:  -39.520 nathvy =  49 nconfs =         3129
    9  C00000004 score:  -38.928 nathvy =  24 nconfs =          150
   10  C00000002 score:  -38.454 nathvy =  49 nconfs =         9473
   11  C00000004 score:  -37.704 nathvy =  24 nconfs =          156
   12  C00000001 score:  -37.558 nathvy =  41 nconfs =           51
    2  C00000002 score:  -48.649 nathvy =  49 nconfs =         3878
    3  C00000001 score:  -44.988 nathvy =  41 nconfs = …
Run Code Online (Sandbox Code Playgroud)

command-line bash grep sort

4
推荐指数
1
解决办法
2503
查看次数

GNOME - 按字母顺序对菜单项进行排序

我希望我可以按字母顺序排列 GNOME 应用程序菜单,但我在网上找不到任何有关此内容的信息...
是否有任何选项gsettings或脚本可以执行此操作?

gnome menu appmenu sort gnome-shell

4
推荐指数
1
解决办法
3074
查看次数

如何通过命令行按文件扩展名对文件进行排序?

这是我的问题:如何通过命令行按文件扩展名对文件进行排序?

command-line sort file-extension

3
推荐指数
1
解决办法
5120
查看次数

使用排序命令反转列输出

我必须对在 shell 脚本中作为参数给出的文件中的所有单词进行排序。这是单线:

tr  [:space:] '\n' <$1  | sort -nrk2,2 | uniq -c |sed 's/^ \+//g'
Run Code Online (Sandbox Code Playgroud)

基本上,如果我的文件中有这样的内容:

bla bla bla bla hu hu hu
Run Code Online (Sandbox Code Playgroud)

它会输出

4 bla
3 hu
Run Code Online (Sandbox Code Playgroud)

我希望他们像

bla 4
hu 3
Run Code Online (Sandbox Code Playgroud)

command-line sort

3
推荐指数
2
解决办法
2225
查看次数

如何在排序和忽略大小写的同时保留两个“相等”字符串的行顺序?

内容fred为:

START
test
TEST
tEST
END
Run Code Online (Sandbox Code Playgroud)

从 bash 终端sort fred返回:

END
START
test
tEST
TEST
Run Code Online (Sandbox Code Playgroud)

都好。现在我输入sort fred -f相同的结果sort fred。但因为TEST是提前tEST,预期的结果是:

END
START
test
TEST
tEST
Run Code Online (Sandbox Code Playgroud)

如何保留两个“相等”字符串的行顺序?使用 Ubuntu 18.04 和 bash 4.4.20(1)-release。

command-line sort

3
推荐指数
2
解决办法
586
查看次数

Bash 按非字典顺序对以标点符号开头的行进行排序

我有一个包含行的文件,其中一些以!字符开头,一些以字符?开头,一些以空格 ( ) 字符开头。第二个字符始终是字母表中的字母。

当我尝试使用sortcoreutils 中的 bash 命令时,这似乎忽略了第一个字符,并仅根据第二个字符进行排序。

这让我非常惊讶,因为我认为排序会根据标点符号的 ascii 值来处理标点符号,并将所有行集中!在一起,然后将所有?行集中在一起,等等。

特别是,文档说有一个-d选项,它明确指示sort命令忽略此类标点符号。但我想要的是相反的行为,并且没有选择“逆转”这种行为。就好像这个-d选项已经以某种方式“烘焙”出来了。

我已经检查过,据我所知,我没有在某个地方定义了可能会-d意外激活该标志的别名。

这是一个错误吗sort?(coreutils v8.32)。有没有办法强制它不按字典顺序排序,而是按严格的 ascii 值排序?

操作系统:Linux Mint 21.1(基于 ubuntu jammy,据我所知),以防相关

编辑:根据要求提供区域设置和 MVP

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

$ echo '
> !a
> ?b
>  c
> !f
>  e
> ?d' | sort 

!a
?b …
Run Code Online (Sandbox Code Playgroud)

bash sort coreutils

3
推荐指数
1
解决办法
247
查看次数

使用“grep”和其他实用程序

我知道这是一个看似奇怪的问题,但我想更好地理解使用 Linux 实用程序,所以我将要求一些对我来说似乎相当复杂的东西来更好地理解工作中的机制。

考虑到我们系统中的所有头文件,我如何在终端中显示基于其中定义的宏数量的这些文件的排序列表?

command-line grep sort text-processing

2
推荐指数
1
解决办法
258
查看次数

为什么`sort`、`sort k 1`、`sort k 1,1`的输出相等?

我有一个文件:

$ cat file
1 c
8 a
1 b
5 f
Run Code Online (Sandbox Code Playgroud)

我认为sort开头的命令比较所有行的第一个字段并对它们进行排序,然后对于这些行具有相同的第一个字段,然后再次开始对第二个字段进行排序,如下所示:

$sort file
1 b
1 c
5 f
8 a
Run Code Online (Sandbox Code Playgroud)

我读到了选项k 1k 1,1:之间的区别:k 1排序键可能会继续到行尾,但k 1,1它应该只对第一个字段进行排序而不考虑其他字段,但是:

$sort -k 1 file
1 b
1 c
5 f
8 a

$sort -k 1,1 file
1 b
1 c
5 f
8 a
Run Code Online (Sandbox Code Playgroud)

为什么的输出sort= sort k 1=sort k 1,1等于?

我认为输出sort k 1,1 file应该是

1 …
Run Code Online (Sandbox Code Playgroud)

command-line sort

2
推荐指数
1
解决办法
1359
查看次数