我知道这里有大量的排序问题,但我无法解决我的用例。
我正在尝试对 R 中的列表(在 Ubuntu 16.04 上)进行排序,但我束手无策!我一直在尝试弄乱LC_ALL=C
和collate
设置,并且可以获得以不同方式排序的结果,但我无法获得我需要的结果。这就是我需要的:
2014_Actual / 2014_Target / 2014_Percent / 2015_Actual / 2015_Target / 2015_Percent
我在Windows中使用的技巧是删除下划线,因此:
2014_Actual / 2014_Target / 2014Percent / 2015_Actual / 2015_Target / 2015Percent
,这是我的用户可以接受的。但显然这在 Linux 中不起作用,因为它忽略了下划线。
有人对如何在该级别获得上述排序顺序有任何想法吗LC_ALL
?
提前致谢。
编辑:增加清晰度:问题是当我在 Linux 中对以上内容进行排序时,它会忽略下划线并给出:
2014_Actual / 2014Percent / 2014_Target / 2015_Actual / 2015Percent / 2015_Target
答案1
我不确定我是否完全理解你的问题,但如果我在 Unix 中这样做,我会这样做
sed -e 's/Actual/1Actual/' -e 's/Target/2Target/' -e 's/Percent/3Percent/' |
sort |
sed -e 's/1Actual/Actual/' -e 's/2Target/Target/' -e 's/3Percent/Percent/'