
だから、次のようなリストファイルがあります。
SOURCE_FILE|SOURCE_SYSTEM|DELIVERY_FREQUENCY|IMPORT_DIRECTORY|PROCESSING_BLOCKS|DEPENDENT_DELIVERY_CODES|AFFECTED_TARGET_SYSTEMS
例:
SUBMIT_303_EXOTICIIBOND_YYYYMMDD_V01_T23.xml.gz|STF|DAILY|fromSTF|FLOWS|SMTMM|CFP;
YYYYMMDD_PES_TER_99_99.tar.gz|PALO|MONTHLY|fromPO|IRBDD|PES_TER|CFP
ファイルを含むディレクトリ:
SUBMIT_303_EXOTICIIBOND_20220720_V01_T23.xml.gz;
20220720_PES_TER_99_99.tar.gz).
リスト内のファイルが実際に存在することを確認し、存在しない場合はファイルに書き込む必要があります。
必要なファイル名をクリーンアップするスクリプトを作成できたので、
cat file_path | grep "DAILY" | cut -d '|' -f1
ファイル名のみを使用しました。
!-f
毎日変わる日付に基づいて出力を実装する方法に関する提案はありますか?
答え1
深く研究してきました。愚かな最近:
gawk -F'|' '
@load "filefuncs"
$3 == "DAILY" {
result = stat($1, statdata)
if (result != 0)
print $1
}
' file.list > files.not.found
または、1行で表現すると、次のようになります。
gawk -l filefuncs -F'|' '$3 == "DAILY" && stat($1, data) {print $1}' file.list > files.not.found
参照番号https://www.gnu.org/software/gawk/manual/html_node/Extension-Sample-File-Functions.html