如何以数字方式对一行分隔的项目进行排序?

杰夫·谢勒(Jeff Schaller)

我有一行(或多行)数字,这些数字由任意字符定界。我可以使用哪些UNIX工具对每行的项目进行数字排序,并保留定界符?

示例包括:

  • 数字列表;输入:10 50 23 42; 排序:10 23 42 50
  • IP地址; 输入:10.1.200.42; 排序:1.10.42.200
  • CSV; 输入:1,100,330,42; 排序:1,42,100,330
  • 竖线分隔;输入:400|500|404; 排序:400|404|500

由于定界符是任意的,因此可以使用选择的单字符定界符随意提供(或扩展)答案。

αғsнιη

使用gawkGNU awkasort()函数

gawk -v SEP='*' '{ i=0; split($0, arr, SEP); len=asort(arr);
    while ( ++i<=len ){ printf("%s%s", i>1?SEP:"", arr[i]) }; 
        print "" 
}' infile

替换*为字段分隔符SEP='*'分隔符



在单行的情况下,您也可以使用以下命令(因为最好不要将shell循环用于文本处理

tr '.' '\n' <<<"$aline" | sort -n | paste -sd'.' -

定界符替换 .
添加-usort上面命令中以删除重复项。

注意:
您可能需要使用-g, --general-numeric-sort选项sort代替-n, --numeric-sort来处理任何类别的数字(整数,浮点数,科学数,十六进制等)。

$ aline='2e-18,6.01e-17,1.4,-4,0xB000,0xB001,23,-3.e+11'
$ tr ',' '\n' <<<"$aline" |sort -g | paste -sd',' -
-3.e+11,-4,2e-18,6.01e-17,1.4,23,0xB000,0xB001

awk没有必要的改变,它仍然会处理这些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以编程方式在QTreeview中选择一行?

来自分类Dev

如何以编程方式添加一行NSBox?

来自分类Dev

如何对项目进行排序,以使我在UICollectionView的每一行上都浪费最少的空间?

来自分类Dev

如何以这种方式对值进行排序?

来自分类Dev

如何以数字方式对python中的file.txt内容进行排序

来自分类Dev

用Python方式对逗号分隔数字列表进行排序

来自分类Dev

如何以一行逗号分隔和单引号的形式获取 SQL 查询结果?

来自分类Dev

python 如何以保持相互索引一致的方式对dict和list进行排序?

来自分类Dev

如何以编程方式重新排序UINavigationController项目?

来自分类Dev

如何以通用方式获取SQL的行分隔符?

来自分类Dev

如何以通用方式获取SQL的行分隔符?

来自分类Dev

如何以永久方式对MYSQL表进行排序?

来自分类Dev

如何以编程方式对LinearLayout的子级进行排序

来自分类Dev

如何以正确的方式对字典列表进行排序

来自分类Dev

如何以自定义方式对多维数组进行排序

来自分类Dev

如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

来自分类Dev

在同一行上对数字进行排序,删除重复项,但保持原始

来自分类Dev

如何以顺序模式对 PHP 数组进行数字排序

来自分类Dev

如何对数据框每一行的值进行排序并返回排序后的列名

来自分类Dev

如何以中间块始终为全角的方式将三块内容放在一行中?

来自分类Dev

如何根据行的排序值对pandas数据帧的每一行进行排序并返回列索引

来自分类Dev

如何根据上一行中的值对sql结果进行排序?

来自分类Dev

如何对熊猫数据框中的每一行进行排序并获取索引?

来自分类Dev

如何按出现次数对每一行进行排序?

来自分类Dev

如何按一行的内容对整个数据框进行排序

来自分类Dev

如何在记事本++中对一行文本进行排序

来自分类Dev

如何在 BASH 中对一行中的 ROW 进行排序

来自分类Dev

合并两个文件,这些文件在每一行中按整数进行数字排序,而不读取到内存中并且不进行排序

来自分类Dev

如何通过对一行中的数字进行计数来分割文件?

Related 相关文章

  1. 1

    如何以编程方式在QTreeview中选择一行?

  2. 2

    如何以编程方式添加一行NSBox?

  3. 3

    如何对项目进行排序,以使我在UICollectionView的每一行上都浪费最少的空间?

  4. 4

    如何以这种方式对值进行排序?

  5. 5

    如何以数字方式对python中的file.txt内容进行排序

  6. 6

    用Python方式对逗号分隔数字列表进行排序

  7. 7

    如何以一行逗号分隔和单引号的形式获取 SQL 查询结果?

  8. 8

    python 如何以保持相互索引一致的方式对dict和list进行排序?

  9. 9

    如何以编程方式重新排序UINavigationController项目?

  10. 10

    如何以通用方式获取SQL的行分隔符?

  11. 11

    如何以通用方式获取SQL的行分隔符?

  12. 12

    如何以永久方式对MYSQL表进行排序?

  13. 13

    如何以编程方式对LinearLayout的子级进行排序

  14. 14

    如何以正确的方式对字典列表进行排序

  15. 15

    如何以自定义方式对多维数组进行排序

  16. 16

    如何按升序对第一行然后在第二行和最后在第三行中的数字进行排序但保存列顺序?

  17. 17

    在同一行上对数字进行排序,删除重复项,但保持原始

  18. 18

    如何以顺序模式对 PHP 数组进行数字排序

  19. 19

    如何对数据框每一行的值进行排序并返回排序后的列名

  20. 20

    如何以中间块始终为全角的方式将三块内容放在一行中?

  21. 21

    如何根据行的排序值对pandas数据帧的每一行进行排序并返回列索引

  22. 22

    如何根据上一行中的值对sql结果进行排序?

  23. 23

    如何对熊猫数据框中的每一行进行排序并获取索引?

  24. 24

    如何按出现次数对每一行进行排序?

  25. 25

    如何按一行的内容对整个数据框进行排序

  26. 26

    如何在记事本++中对一行文本进行排序

  27. 27

    如何在 BASH 中对一行中的 ROW 进行排序

  28. 28

    合并两个文件,这些文件在每一行中按整数进行数字排序,而不读取到内存中并且不进行排序

  29. 29

    如何通过对一行中的数字进行计数来分割文件?

热门标签

归档