当我运行我的输入文件时,我会得到一个文件,其中包含758行代码,如下所示。
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS11/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS7/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS9/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO4_ACTIVOS11/MoN-MVW.out::: Total energy: 我需要排序,这样看起来就像这样。
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS7/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS9/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS11/MoN-MVW.out::: Total energy:
DISTANCIA1.45_SIMETRIA1_GIRO4_ACTIVOS11/MoN-MVW.out::: Total energy: 换句话说,我需要根据单词ACTIVOS后面的数值对其进行排序。
发布于 2018-12-27 20:24:54
像这样的东西在测试你的样本时就足够了.
cat textfile | sort -V如果您正在使用GNU扩展运行排序(或者换句话说,如果您使用的是GNU/Linux或类似Unix的带有GNU扩展的排序).
让我知道它是否对你的所有文本有效,如果是,请不要忘记选择这个作为正确的答案。
真幸运!
发布于 2018-12-27 22:48:51
另一种方法是以某种方式分隔字段;下面使用下划线对它们进行分隔,然后告诉sort对字段4中从位置8开始的数字进行排序;对于字段4中的重复项,使用字段3:
sort -t_ -k4.8n -k -k3,3 input示例输入的--debug输出如下:
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS7/MoN-MVW.out::: Total energy:
_
_____
________________________________________________________________________
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS9/MoN-MVW.out::: Total energy:
_
_____
________________________________________________________________________
DISTANCIA1.45_SIMETRIA1_GIRO2_ACTIVOS11/MoN-MVW.out::: Total energy:
__
_____
________________________________________________________________________
DISTANCIA1.45_SIMETRIA1_GIRO4_ACTIVOS11/MoN-MVW.out::: Total energy:
__
_____
________________________________________________________________________https://unix.stackexchange.com/questions/491189
复制相似问题