入力サンプル

入力サンプル

~たとえば、foo5番目のフィールドのすべての行はで終わる必要がありますSrc_foo.txt

入力サンプル

WatchListEntry_20180820_DLY_0.dat~3~NA~USD~AMLCOMP~2018-08-20~
WatchListEntry_20180820_DLY_2.dat~3~NA~USD~CBNABI~2018-08-20~
WatchListEntry_20180820_DLY_99.dat~3~NA~USD~AMLDW~2018-08-20~
BackOfficeTransaction_20180820_DLY_1.dat~5~0~USD~CBNABI~2018-08-

サンプル出力

Src_AMLCOMP.txt

WatchListEntry_20180820_DLY_0.dat~3~NA~USD~AMLCOMP~2018-08-20 

Src_AMLDW.txt

WatchListEntry_20180820_DLY_99.dat~3~NA~USD~AMLDW~2018-08-20

Src_CBNABI.txt

WatchListEntry_20180820_DLY_2.dat~3~NA~USD~CBNABI~2018-08-20
BackOfficeTransaction_20180820_DLY_1.dat~5~0~USD~CBNABI~2018-08-20

答え1

どのくらい行くのでしょうか?

awk -F"~" '{print >> ("Src_" $5 ".txt")}' file

わかりますか?許可されているオープンファイルの最大数に近い場合は、出力ファイルを閉じる必要があります。

答え2

この試み:

for i in `cat file.txt`
do
        File=`echo $i | awk -F '~' '{print "Src_"$5".txt"}'`
        echo "$i" >> $File
done
  • file.txt内容を1行ずつforループに渡します。
  • 5番目のフィールドを抽出し、Src_プレフィックスと.txtサフィックスとして使用してファイル名で宣言します。
  • その後、コンテンツをファイルに渡します。

関連情報