Sort 是一个 Linux 程序,用于打印输入文本文件的行并按排序顺序连接所有文件。
Sort 是一个 Linux 程序,用于打印输入文本文件的行并按排序顺序连接所有文件。排序命令将空格作为字段分隔符,将整个输入文件作为排序键。重要的是要注意 sort 命令实际上并不对文件进行排序,而只是打印排序后的输出,直到您重定向输出。
本文旨在深入了解 Linux sort 命令带有 14 个有用的实际示例,将向您展示如何在 Linux 中使用 sort 命令。
1.首先,我们将创建一个文本文件执行 sort 命令示例。我们的工作目录是 /home/$USER//.
选项 -e 在下面的命令中启用反斜杠的解释和/n告诉echo将每个字符串写入新行。
$ echo -e "computernmousenRUMENZntmpnRedHatnlaptopndebiannlaptop" > rumenz.txt
2.在我们开始之前 sort 让我们看看文件的内容
$ cat rumenz.txt
3.现在使用以下命令对文件的内容进行排序。
$ sort rumenz.txt
Note:上面的命令实际上并没有对文本文件的内容进行排序,而只是在终端上显示排序后的输出。
4.对文件内容进行排序并将其写入文件
$ sort rumenz.txt > sorted.txt
$ cat sorted.txt
5.现在对文本文件的内容进行排序 以相反的顺序使用-r切换并重定向输出到一个文件。
$ sort -r rumenz.txt > sorted.txt
$ cat sorted.txt
6.创建一个新文件,并将ls -l结果保存到新文件
$ ls -l /home/$USER > /home/$USER/Desktop/rumenz/lsl.txt
$ cat lsl.txt
现在将看到根据其他字段而不是默认初始字符对内容进行排序的示例。
7.根据第二列对文件lsl.txt的内容进行排序
$ sort -nk2 lsl.txt
Note:这 -n 上面示例中的选项按数字对内容进行排序。选项 -n 当我们想根据包含数值的列对文件进行排序时,必须使用。
8.根据第9列对文件lsl.txt的内容进行排序
$ sort -k9 lsl.txt
9.管道输出排序
$ ls -l /home/$USER | sort -nk5
10.从文本文件中排序并删除重复项.txt.检查重复项是否已被删除。
$ cat rumenz.txt
$ sort -u rumenz.txt
到目前为止的规则
以数字开头的行在列表中是首选的,除非另有说明,否则位于顶部(-r)。
以小写字母开头的行在列表中是首选的有趣的排序,除非另有说明(-r)。
内容根据字典中字母的出现次数列出,除非另有说明(-r)。
默认情况下,排序命令将每一行视为字符串有趣的排序,然后根据字典中出现的字母
11.创建文件 lsla.txt
$ ls -lA /home/$USER > /home/$USER/Desktop/rumenz/lsla.txt
$ cat lsla.txt
ls命令ls -lA’=’ls -l +文件。所以这两个文件上的大部分内容都是一样的。
12.对标准输出的两个文件的内容进行排序。
$ sort lsl.txt lsla.txt
注意文件和文件夹的重复。
13.现在我们可以看到如何从这两个文件中排序、合并和删除重复行。
$ sort -u lsl.txt lsla.txt
请注意,输出中已省略重复项。此外,您可以通过将输出重定向到文件来将输出写入新文件。
14.我们还可以根据不止一列对文件或输出的内容进行排序。对'的输出进行排序ls -l 命令基于字段 2,5(数字)和 9(非数字)。
$ ls -l /home/$USER | sort -t "," -nk2,5 -k9