-1

我是 linux 的新手,我有一个要求,我需要捕获文件名,检查文件名中的日期,然后仅当所有文件名中的日期相同时才继续并从所有文件中加载数据。可以说,我的文件很少

X_US_20130420.CSV
X_CA_20130420.CSV
X_PH_20130420.CSV
X_NS_20130420.CSV

我需要检查所有文件是否具有相同的日期(此处为 20130420),然后在我的下一份工作中使用该日期作为参数。请帮忙。

4

1 回答 1

1

有很多方法可以解决这个问题,但一种方法是遍历所有文件,解析日期,看看是否有任何日期与其他日期不匹配。我不会剥夺你弄清楚大部分工作的特权,但是日期解析可以这样完成:

如果你有 bash:

file=X_US_20130420.CSV
myDate=${file##*([A-Z_])}
myDate=${myDate%.CSV}

# myDate is now 20130420

如果你没有 bash:

file=X_US_20130420.CSV
myDate="$(echo $file | sed 's:^[A-Z_]\{1,\}\([0-9]\{8\}\).CSV/\1/')"

# myDate is now 20130420
于 2013-05-20T22:35:56.550 回答