我需要列出指定目录中的文件,并根据每个文件名中嵌入的日期和时间对所有可用文件进行排序,而不是文件创建或修改日期/时间。我的文件的格式如下: 之前排序使用Linux bash脚本语言获取目录上的排序文件列表
RATMS-RNSCA_npp_d20131208_t0408392_e0417432_b00001_c20131223024038606000_all-_dev.h5
RATMS-RNSCA_npp_d20131208_t0547506_e0557586_b00001_c20131223021256522000_all-_dev.h5
RCRIS-RNSCA_npp_d20131208_t0408392_e0417432_b00001_c20131223024038506000_all-_dev.h5
RCRIS-RNSCA_npp_d20131208_t0548226_e0557586_b00001_c20131223021256270000_all-_dev.h5
RNSCA-ROLPS_npp_d20131208_t0408334_e0417550_b00001_c20131223024038619000_all-_dev.h5
RNSCA-ROLPS_npp_d20131208_t0548233_e0558223_b00001_c20131223021256591000_all-_dev.h5
RNSCA-RONPS_npp_d20131208_t0408543_e0417005_b00001_c20131223024038636000_all-_dev.h5
RNSCA-RONPS_npp_d20131208_t0548391_e0558002_b00001_c20131223021256616000_all-_dev.h5
RNSCA-ROTCS_npp_d20131208_t0408168_e0417380_b00001_c20131223024038627000_all-_dev.h5
RNSCA-ROTCS_npp_d20131208_t0548017_e0558002_b00001_c20131223021256603000_all-_dev.h5
RNSCA-RVIRS_npp_d20131208_t0407405_e0417380_b00001_c20131223024038167000_all-_dev.h5
RNSCA-RVIRS_npp_d20131208_t0547150_e0558377_b00001_c20131223021256099000_all-_dev.h5
排序后(我的预期结果)
RATMS-RNSCA_npp_d20131208_t0408392_e0417432_b00001_c20131223024038606000_all-_dev.h5
RCRIS-RNSCA_npp_d20131208_t0408392_e0417432_b00001_c20131223024038506000_all-_dev.h5
RNSCA-ROLPS_npp_d20131208_t0408334_e0417550_b00001_c20131223024038619000_all-_dev.h5
RNSCA-RONPS_npp_d20131208_t0408543_e0417005_b00001_c20131223024038636000_all-_dev.h5
RNSCA-ROTCS_npp_d20131208_t0408168_e0417380_b00001_c20131223024038627000_all-_dev.h5
RNSCA-RVIRS_npp_d20131208_t0407405_e0417380_b00001_c20131223024038167000_all-_dev.h5
RATMS-RNSCA_npp_d20131208_t0547506_e0557586_b00001_c20131223021256522000_all-_dev.h5
RCRIS-RNSCA_npp_d20131208_t0548226_e0557586_b00001_c20131223021256270000_all-_dev.h5
RNSCA-ROLPS_npp_d20131208_t0548233_e0558223_b00001_c20131223021256591000_all-_dev.h5
RNSCA-RONPS_npp_d20131208_t0548391_e0558002_b00001_c20131223021256616000_all-_dev.h5
RNSCA-ROTCS_npp_d20131208_t0548017_e0558002_b00001_c20131223021256603000_all-_dev.h5
RNSCA-RVIRS_npp_d20131208_t0547150_e0558377_b00001_c20131223021256099000_all-_dev.h5
请注意在每个上述文件名中的第3(dYYYYMMdd)和第4(thhmmssS)领域。前缀字母'd'表示日期,前缀't'表示时间。
注意:'YYYYMMDD'表示划片的开始日期(YYYY:4位数年份; MM:月份; DD:日期)。第一个和第二个'hhmmssS'分别代表幅区的开始和结束(hh -hour; mm:分钟; ss:秒; S:十秒)。
我认为我的需求可以通过使用“YYYYMMdd_thh”组合来排序文件列表。我怎么能通过使用Linux bash脚本语言来做到这一点?
谢谢。
GoldenLee
亲爱的Noctua:我刚刚测试你的方法。对我来说还好。非常感谢你! – GoldenLee
从技术上讲,'sort'不是'bash'的一部分,你可以在其他shell中使用它(例如[zsh](http://zsh.org/)或[fish](http://fishshell.com/) ...) –
这是一个无用的'cat',只是使用'sort -t'_'-k 3,4 your_data_file' –