linux - 根据不在固定位置的字段对文件进行排序

标签 linux sorting unix

我是 unix 排序的新手。 我有一组数据..行的例子: 当我尝试 sort -n 命令时,它给了我这个: 它从 0_0 开始,第二个是 10_0,我如何让它从 0_0 开始,然后是 1_0,然后是 2_0 ....9_0...10_0..11_0...19_0...20_0....等等?

这是我的输入:

reg_0_0/clk 
reg_10_0/clk 
reg_11_0/clk 
reg_12_0/clk 
reg_13_0/clk 
reg_14_0/clk 
reg_15_0/clk 
reg_16_0/clk 
reg_17_0/clk 
reg_18_0/clk 
reg_19_0/clk 
reg_1_0/clk 
reg_20_0/clk 
reg_21_0/clk 
reg_22_0/clk 
reg_23_0/clk 
reg_24_0/clk 
reg_25_0/clk 
reg_26_0/clk 
reg_27_0/clk 
reg_28_0/clk 
reg_29_0/clk 
reg_2_0/clk 
reg_30_0/clk 
reg_31_0/clk 
reg_3_0/clk 
reg_4_0/clk 
reg_5_0/clk 
reg_6_0/clk 
reg_7_0/clk 
reg_8_0/clk 
reg_9_0/clk 
s_reg_0_0/clk 
s_reg_10_0/clk 
s_reg_11_0/clk 
s_reg_12_0/clk 
s_reg_13_0/clk 
s_reg_14_0/clk 
s_reg_15_0/clk 
s_reg_16_0/clk 
s_reg_17_0/clk 
s_reg_18_0/clk 
s_reg_19_0/clk 
s_reg_1_0/clk 
s_reg_20_0/clk 
s_reg_21_0/clk 
s_reg_22_0/clk 
s_reg_23_0/clk 
s_reg_24_0/clk 
s_reg_25_0/clk 
s_reg_26_0/clk 
s_reg_27_0/clk 
s_reg_28_0/clk 
s_reg_29_0/clk 
s_reg_2_0/clk 
s_reg_30_0/clk 
s_reg_31_0/clk 
s_reg_3_0/clk 
s_reg_4_0/clk 
s_reg_5_0/clk 
s_reg_6_0/clk 
s_reg_7_0/clk 
s_reg_8_0/clk 
s_reg_9_0/clk 

最佳答案

我认为坏消息是,你不能。你没有数字,你有人眼可以识别为数字的东西,但排序不够智能,无法解析出数字并对其进行排序。您必须编写一些自定义软件才能做到这一点。

关于linux - 根据不在固定位置的字段对文件进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44425876/

相关文章:

c - 内核到用户空间的低延迟通信

python - 程序结束后保持 matplotlib 图形打开

linux - Chef 服务器安装问题

linux - 如何忽略有关消失文件的 rsync 警告?

python - Pandas:重新索引 Unsorts 数据框

python - 排序字符串列表 - 外部列表中的内部列表

java - 仅使用外部存储器比较两个带有 Java URL 的文本大文件?

linux - 连接和更改扩展名

java - 如何触发默认信号处理行为?

linux - 如何在 Ubuntu 18.04 WSL 中安装最新版本的 NuGet.exe CLI?