我运行了一个程序来生成具有不同参数的结果,R
, C
和 RP
, 反射(reflect)在输出文件的目录名 中,全部命名为 results.txt
.
例如,目录名params_R_7_C_16_RP_0
, 7
是参数值 R
, 16
是参数值 C
和 0
是参数值 RP
.
我想得到所有results.txt
当前目录树中的文件,按 R
的嵌入值排序, C
和 RP
在他们的托管目录中。
我首先使用以下命令获取 results.txt
我要解析的文件:
find ./ -name "results.txt"
输出是:
./params_R_11_C_9_RP_0/results.txt
./params_R_7_C_9_RP_0/results.txt
./params_R_7_C_4_RP_0/results.txt
./params_R_11_C_16_RP_0/results.txt
./params_R_9_C_4_RP_0/results.txt
./params_R_5_C_9_RP_0/results.txt
./params_R_9_C_25_RP_0/results.txt
./params_R_7_C_16_RP_0/results.txt
./params_R_5_C_25_RP_0/results.txt
./params_R_5_C_16_RP_0/results.txt
./params_R_11_C_4_RP_0/results.txt
./params_R_9_C_16_RP_0/results.txt
./params_R_7_C_25_RP_0/results.txt
./params_R_11_C_25_RP_0/results.txt
./params_R_5_C_4_RP_0/results.txt
./params_R_9_C_9_RP_0/results.txt
我尝试了以下排序命令:
find ./ -name "results.txt" | sort
这导致词法排序:
./params_R_11_C_16_RP_0/results.txt
./params_R_11_C_25_RP_0/results.txt
./params_R_11_C_4_RP_0/results.txt
./params_R_11_C_9_RP_0/results.txt
./params_R_5_C_16_RP_0/results.txt
./params_R_5_C_25_RP_0/results.txt
./params_R_5_C_4_RP_0/results.txt
./params_R_5_C_9_RP_0/results.txt
./params_R_7_C_16_RP_0/results.txt
./params_R_7_C_25_RP_0/results.txt
./params_R_7_C_4_RP_0/results.txt
./params_R_7_C_9_RP_0/results.txt
./params_R_9_C_16_RP_0/results.txt
./params_R_9_C_25_RP_0/results.txt
./params_R_9_C_4_RP_0/results.txt
./params_R_9_C_9_RP_0/results.txt
但我真正想要的是选择性数字排序:首先是R
值,然后 C
, 然后 RP
:
./params_R_5_C_4_RP_0/results.txt
./params_R_5_C_9_RP_0/results.txt
./params_R_5_C_16_RP_0/results.txt
./params_R_5_C_25_RP_0/results.txt
./params_R_7_C_4_RP_0/results.txt
./params_R_7_C_9_RP_0/results.txt
./params_R_7_C_16_RP_0/results.txt
./params_R_7_C_25_RP_0/results.txt
./params_R_9_C_4_RP_0/results.txt
./params_R_9_C_9_RP_0/results.txt
./params_R_9_C_16_RP_0/results.txt
./params_R_9_C_25_RP_0/results.txt
...
我考虑过在生成路径列表时填充嵌入的数字(例如 params_R_005_C_004_RP_0
),但这需要额外的处理步骤,我想避免。
能否直接实现想要的排序?
最佳答案
排序
需要-V
标志
find ./ -name "results.txt" | sort -V
关于bash - 如何根据多个嵌入数字对文件路径进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24196786/