Bash 基于csv第1列中的组运行操作
我有一个CSV,在第2列中有jarname,这些jarname被分组在bundle A1 A2中。。在第1栏中。我希望一次在一个Bundle(比如A1)上运行操作(复制(部署)和一些其他操作),这意味着从该Bundle收集服务。还希望存储这些服务的名称,以检查它们的操作是否完成。如果是,则处理第二个组。我检查日志以查看带有成功消息的那些服务的名称 通过为每个组创建文件夹,使每个文件夹都有所有JAR,并通过读取csv(添加的新列)一次复制一个文件夹,我实现了这一点。我可以继续使用它,但仍然无法保存组的服务名称。 检查日志Bash 基于csv第1列中的组运行操作,bash,shell,csv,Bash,Shell,Csv,我有一个CSV,在第2列中有jarname,这些jarname被分组在bundle A1 A2中。。在第1栏中。我希望一次在一个Bundle(比如A1)上运行操作(复制(部署)和一些其他操作),这意味着从该Bundle收集服务。还希望存储这些服务的名称,以检查它们的操作是否完成。如果是,则处理第二个组。我检查日志以查看带有成功消息的那些服务的名称 通过为每个组创建文件夹,使每个文件夹都有所有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
完成
现在,希望逐个部署此文件夹,并在组中查找服务名称,就像在日志中查找成功一样,然后只处理下一个组。 CSV******************************如下
A1,test1.jar,el
A1,test21.jar,el
A2,test3.jar,el
A2,test5.jar,el
A3,test7.jar
A4,test90.jar
我想补充一下
我买了一捆美元{
cp$targetDir/$bundle/*
在这个包中获取jar名称,并在日志中查找test1.jar是否成功
test21.jar成功后,仅对A2继续。
}能否提供CSV的一个片段?如果它只有两列,您可以在IFS=、read-r。。。完成
当IFS=,read-r bundle jarName dummy
(通常使用下划线作为伪变量)。能否从CSV中提供一个片段?如果它只有两列,您可以在IFS=、read-r。。。完成当IFS=,read-r=name dummy
(通常使用下划线作为伪变量)。
A1,test1.jar,el
A1,test21.jar,el
A2,test3.jar,el
A2,test5.jar,el
A3,test7.jar
A4,test90.jar