在 Bash 中根据文件的第二列对数据进行排序
本文介绍了如何在 bash 中根据文件的第二列对数据进行排序。
Bash 中的排序命令概述
使用 sort 命令对文件进行排序,该命令按特定顺序放置记录。 默认情况下,sort 命令假定文件包含 ASCII 数据对文件进行排序。
数字排序是通过 sort 命令可用的另一个选项。 排序命令包括以下功能:
- 以数字开头的行显示在以字母开头的行之前。
- 以字母顺序靠后的字母开头的行将出现在以较早字母开头的行之后。
- 以大写字母开头的行显示在以小写相同字母开头的行之前。
假设我们创建一个名为 filename.csv 的数据文件。 并使用 cat 命令在 bash 中打开该文件。
在 Bash 中打开文件的语法:
$ cat filename.csv
对混合大小写、大写和小写文件进行排序: 在大小写字母混合的文件中,先排序大写字母,再排序小写字符。
排序有多种选择,包括:
- -k - 此选项有助于根据任何指定的列对数据进行排序。 例如,参数 -k5 将从每行的第五个字段开始排序,而不是每行的第五个字符(注意此处的列定义为逗号分隔字段)。
- -n - 此选项指定数字排序,这意味着应将列读取为一行数字而不是文本。
- -r - 排序顺序与 -r 选项相反。 另一种写法是 `-reverse。
- -i - 此选项忽略无法打印的字符。 另一种写法是-ignore-nonprinting。
- -b - 此选项不考虑前导空格,这很有用,因为行数是使用空格计算的。 另一种写法是 ignore-leading-blanks。
-
-f - 此选项忽略大小写,A==a。 另一种写法是忽略大小写。 此选项导致预处理使用空格以外的运算符:
-t [新分隔符]
。另一种写法是
-field-separator
。
在 Bash 中根据文件的第二列对数据进行排序
使用 -k 选项,sort 使我们能够按列对文件进行排序。 让我们从创建一个包含多列的文件开始。 在排序中,单个空格用于分隔每一列。
例如,我们使用 -k 2 对第二列进行排序。 我们已经创建了一个名为 filename.csv 的文件。 该文件中可用的数据如下:
Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11
在排序之前使用 cat 命令查看文件中的项目。
$ cat filename.csv
输出:
Bonie,22
Julie,23
Henry,15
Flamingo,34
Peter,11
在 Bash 中根据文件的第二列对数据进行排序的语法:
sort -k2 -n filename.csv
对第二列排序后的输出:
Bonie,22
Flamingo,34
Henry,15
Julie,23
Peter,11
相关文章
检查 Bash 中是否存在命令
发布时间:2023/05/20 浏览次数:77 分类:操作系统
-
我们可以在 Bash 中使用不同的内置命令来检查命令是否存在。 下面演示了这些命令的使用。使用命令 -v 命令检查 Bash 中是否存在命令 命令 -v 是所有 POSIX 系统和 Bash 中的内置函数。
在 Linux 中添加新用户的 Bash 脚本
发布时间:2023/05/20 浏览次数:54 分类:操作系统
-
这篇简短的文章是关于创建一个 Bash 脚本,该脚本可以自动为 Linux 操作系统添加用户和分配密码。 在 Linux 操作系统中,useradd 命令用于添加新用户并为他们提供密码。Bash 脚本 useradd 命令
Bash 脚本中的变量插值
发布时间:2023/05/18 浏览次数:79 分类:操作系统
-
本文是关于在 Bash 脚本中使用变量以及如何在 Bash 脚本中插入这些变量。Bash 脚本中的变量。每种编程语言都有具有特定数据类型的变量。
在 Bash 脚本中执行变量中的命令
发布时间:2023/05/18 浏览次数:108 分类:操作系统
-
本篇文章是关于将 Bash 命令存储在一个变量中,然后直接从这个变量中执行它。 首先,我们将讨论执行变量中包含的命令的多种方法,然后是几个脚本示例。
MySQL 按字母顺序对数据进行排序
发布时间:2023/05/08 浏览次数:147 分类:MySQL
-
在本篇文章中,我们将了解在 MySQL 中按字母顺序对数据进行排序的多种方法。按字母顺序对 MySQL 数据进行排序 当您使用 SELECT 命令从表中查询数据时,结果集中的行是任意顺序的。