对于这样的文件名:
fileLoad.xml2017-12-21_10_55_53-153.txt
otherFile.xml2017-12-20-11_23_01-87899.txt
someFile.xml2017-11-30-21_00_59-1.txt
我想要完成的awk
是隔离文件名.xml
,然后隔离和格式化时间戳以在 csv/数据库中使用。
我有以下内容:
NR==1 {
fn=substr(FILENAME, 0, FILENAME-5);
ts=fn;
sub(/[0-9]{4}.*$/,"",fn);
sub(/^\w+\.xml/,"",ts);
} {
printf "fn\tts"
}
我可以从最后去掉'-',但之后我不知道如何在 awk 中将剩余的时间戳转换为2017-11-30 21:00:59
.