次のようなファイル名形式の2種類のcsvファイルがあるとします。
Ass_B1_v1_<ShortName>_<ddmmyyyy>.CSV
CATUpd_v1_<ShortName>_<ddmmyyyy>.CSV
または、形式を次のように変更できます。
Ass_B1_v1_<ShortName>_<Name>_<ddmmyyyy>.CSV
CATUpd_v1_<ShortName>_<Name>_<ddmmyyyy>.CSV
これは<ShortName>
次のように短縮された形式ですName
。
Name|ShortName
A1 Dun|A1
Ant Cap|AC
.
.
.
Part_Name
&を含むリストがあります。Target_Directory
Part_Name=echo ${Name} | sed -e 's/ /_/'
Target_dir=D:\GFTPRoot\Receive\${Part_Name}\LIST\ASCII\OUT
リスト.txt:
Part_Name|Target_Directory
A1_Dun|D:\GFTPRoot\Receive\A1_Dun\LIST\ASCII\OUT
Ant_Cap|D:\GFTPRoot\Receive\Ant_Cap\LIST\ASCII\OUT
Bri_Deb|D:\GFTPRoot\Receive\Bri_Deb\LIST\ASCII\OUT
.
.
.
私は通常これをハードコードし、リスト(例:List.txt)から読み込んでパラメータを割り当てます。
[ ${ShortName} = "A1" ] && {
part=`grep ^"$A1_Dun" ${List} | cut -d"|" -f1`
Target_dir=`grep ^"$A1_Dun" ${List} | cut -d"|" -f2`}
[ ${ShortName} = "AC" ] && {
part=`grep "$Ant_Cap" ${List} | cut -d"|" -f1`
Target_dir=`grep "$Ant_Cap" ${List} | cut -d"|" -f2`}
.
.
.
for file in `find ${path} -name "*${ShortName}*" -type f`
do
.
.
リストは長いです。ハードコーディングして&を*$ShortName*
割り当てる代わりに、パターンを使用してすべてのcsvファイルを検索したいと思います。$Part_Name
$Target_dir
$ShortName
たとえば、特定のパターンを持つすべてのcsvファイルの場合、*$ShortName*
特定のパターンを持つファイルの各サブセットに&
パラメータを割り当てます。Part_Name
Target_dir