我有一个CSV,第2列的jarname分组在第1列的Bundle A1 A2 ..中。我想一次对一个Bundle(例如A1)运行操作(复制(部署)和其他一些操作)这意味着从该捆绑包中收集服务。还希望存储这些服务的名称,以检查是否对它们完成了操作,然后在第二组上工作。我检查日志以查看带有成功消息的那些服务的名称。
我通过在每个组中创建一个文件夹来实现这一点,以便每个文件夹都包含所有jar文件,并通过读取csv(添加新列)一次执行一个文件夹的复制。我可以继续使用它,但是卡住了如何保留其服务名称一组。 检查日志。
OLDIFS=$IF
while IFS=, read -r bundle jarName
do
echo --"$jarName"--
echo --"$bundle"--
if [[$bundle != "" ]]; then
if [[ -d "$targetDir/$bundle/" ]]; then
find $sourceDir/ -type f -name "$jarName*" -print0 | xargs -r 0 -i mv "{}" $targetDir/$bundle$/;
else
mkdir $targetDir/$bundle
find $sourceDir/ -type f -name "$jarName*" -print0 | xargs -r 0 -i mv "{}" $targetDir/$bundle$/;
fi
fi
完成
OUTPUT-
ls $targetDir
A1
A2
A3..
现在要一个接一个地部署此文件夹,并与在日志中成功一样在组中查找服务名称,然后仅处理下一个组。 CSV ********************************下方
A1,test1.jar,el
A1,test21.jar,el
A2,test3.jar,el
A2,test5.jar,el
A3,test7.jar
A4,test90.jar
我想添加类似 为我在$ bundle { cp $ targetDir / $ bundle / * 获取此捆绑包中的jar名称,并在日志中查找test1.jar成功 test21.jar成功,然后仅对A2进行。 }