前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux中14个有趣的排序命令示例

linux中14个有趣的排序命令示例

作者头像
入门笔记
发布2022-06-03 10:32:12
1.5K0
发布2022-06-03 10:32:12
举报
文章被收录于专栏:入门小站入门小站

Sort 是一个 Linux 程序,用于打印输入文本文件的行并按排序顺序连接所有文件。

Sort 是一个 Linux 程序,用于打印输入文本文件的行并按排序顺序连接所有文件。排序命令将空格作为字段分隔符,将整个输入文件作为排序键。重要的是要注意 sort 命令实际上并不对文件进行排序,而只是打印排序后的输出,直到您重定向输出。

本文旨在深入了解 Linux sort 命令带有 14 个有用的实际示例,将向您展示如何在 Linux 中使用 sort 命令。

1.首先,我们将创建一个文本文件执行 sort 命令示例。我们的工作目录是 /home/$USER/Desktop/rumenz.

选项 -e 在下面的命令中启用反斜杠的解释和/n告诉echo将每个字符串写入新行。

代码语言:javascript
复制
$ echo -e "computer\nmouse\nRUMENZ\ntmp\nRedHat\nlaptop\ndebian\nlaptop" > rumenz.txt

2.在我们开始之前 sort 让我们看看文件的内容

代码语言:javascript
复制
$ cat rumenz.txt

3.现在使用以下命令对文件的内容进行排序。

代码语言:javascript
复制
$ sort rumenz.txt

Note:上面的命令实际上并没有对文本文件的内容进行排序,而只是在终端上显示排序后的输出。

4.对文件内容进行排序并将其写入文件

代码语言:javascript
复制
$ sort  rumenz.txt > sorted.txt
$ cat  sorted.txt

5.现在对文本文件的内容进行排序 以相反的顺序使用-r切换并重定向输出到一个文件。

代码语言:javascript
复制
$ sort -r  rumenz.txt > sorted.txt
$ cat sorted.txt

6.创建一个新文件,并将ls -l结果保存到新文件

代码语言:javascript
复制
$ ls -l /home/$USER > /home/$USER/Desktop/rumenz/lsl.txt
$ cat lsl.txt

现在将看到根据其他字段而不是默认初始字符对内容进行排序的示例。

7.根据第二列对文件lsl.txt的内容进行排序

代码语言:javascript
复制
$ sort -nk2 lsl.txt

Note:-n 上面示例中的选项按数字对内容进行排序。选项 -n 当我们想根据包含数值的列对文件进行排序时,必须使用。

8.根据第9列对文件lsl.txt的内容进行排序

代码语言:javascript
复制
$ sort -k9 lsl.txt

9.管道输出排序

代码语言:javascript
复制
$ ls -l /home/$USER | sort -nk5

10.从文本文件中排序并删除重复项rumenz.txt.检查重复项是否已被删除。

代码语言:javascript
复制
$ cat rumenz.txt
$ sort -u  rumenz.txt

到目前为止的规则

  1. 以数字开头的行在列表中是首选的,除非另有说明,否则位于顶部(-r)。
  2. 以小写字母开头的行在列表中是首选的,除非另有说明(-r)。
  3. 内容根据字典中字母的出现次数列出,除非另有说明(-r)。
  4. 默认情况下,排序命令将每一行视为字符串,然后根据字典中出现的字母

11.创建文件 lsla.txt

代码语言:javascript
复制
$ ls -lA /home/$USER > /home/$USER/Desktop/rumenz/lsla.txt
$ cat lsla.txt

ls命令ls -lA’=’ls -l +Hidden文件。所以这两个文件上的大部分内容都是一样的。

12.对标准输出的两个文件的内容进行排序。

代码语言:javascript
复制
$ sort  lsl.txt lsla.txt

注意文件和文件夹的重复。

13.现在我们可以看到如何从这两个文件中排序、合并和删除重复行。

代码语言:javascript
复制
$ sort -u  lsl.txt lsla.txt

请注意,输出中已省略重复项。此外,您可以通过将输出重定向到文件来将输出写入新文件。

14.我们还可以根据不止一列对文件或输出的内容进行排序。对'的输出进行排序ls -l 命令基于字段 2,5(数字)和 9(非数字)。

代码语言:javascript
复制
$ ls -l /home/$USER | sort -t "," -nk2,5 -k9
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.首先,我们将创建一个文本文件执行 sort 命令示例。我们的工作目录是 /home/$USER/Desktop/rumenz.
  • 2.在我们开始之前 sort 让我们看看文件的内容
  • 3.现在使用以下命令对文件的内容进行排序。
  • 4.对文件内容进行排序并将其写入文件
  • 5.现在对文本文件的内容进行排序 以相反的顺序使用-r切换并重定向输出到一个文件。
  • 6.创建一个新文件,并将ls -l结果保存到新文件
  • 7.根据第二列对文件lsl.txt的内容进行排序
  • 8.根据第9列对文件lsl.txt的内容进行排序
  • 9.管道输出排序
  • 10.从文本文件中排序并删除重复项rumenz.txt.检查重复项是否已被删除。
  • 11.创建文件 lsla.txt
  • 12.对标准输出的两个文件的内容进行排序。
  • 13.现在我们可以看到如何从这两个文件中排序、合并和删除重复行。
  • 14.我们还可以根据不止一列对文件或输出的内容进行排序。对'的输出进行排序ls -l 命令基于字段 2,5(数字)和 9(非数字)。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档