-1

私はLinuxの初心者であり、ファイル名をキャプチャし、ファイル名の日付を確認し、すべてのファイル名に同じ日付が含まれている場合にのみ、すべてのファイルからデータをロードする必要があるという要件があります。ファイルが少ないとしましょう

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

すべてのファイルの日付 (ここでは 20130420) が同じかどうかを確認し、その日付を次のジョブのパラメーターとして使用する必要があります。助けてください。

4

1 に答える 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 に答える