我需要比較文件'tmpcsv2'中的一組變量與'uniq_id'中的變量,我詳細說明下面的文件。更容易的方法來比較變量
tmpcsv2 - >該文件被另一個腳本'script1'更新,'script1'的每次運行都會更新(不附加)'tmpcsv2'中的新變量。沒有。變量可能是1,可以去錢櫃200
eg:
2042344352
2470697747
2635527510
3667769962
uniq的-ID - >這是一個固定的變量(約100K中沒有。)
(Business Name,Job ID,Job Size)
biz,1000036446,225210640
biz,100006309,6710840
biz,1000069211,2084019000
biz,1000118720,34194040
biz,1000150241,212322636
我使用「的'循環+'如果'比較它們如下所示,是否有這樣做更容易或更快(影響更小)的方式?當我運行它時,需要很長時間才能輸出結果。打印命令僅用於測試,稍後將被刪除!
****Part of a bigger script****
amt=0
mjc=0
for jbid in `cat tmpcsv2` #Pick ID for match & calculation
do
printf "Checking ID $jbid\n" >> Acsv3.tmp
for bsid in `cat uniq_id` #Matching jobs & size calulation
do
ckid=`echo $bsid | cut -d "," -f2` #ckid is the ID to check
jbsiz=`echo $bsid | cut -d "," -f3` #size of the ID
if [ $jbid == $ckid ]
then
printf "Matched at $ckid\n" #Print on Match found
printf "Valid -> $jbid\n" >> Bcsv3.tmp
((mjc++)) #Increment Matched Job Count
amt=$((amt+jbsiz)) #Add size of matched jobs
break
else
printf "No Match at $cksid\n" #No matches
fi
done
printf "Check for ID $jbid done\n" >> Acsv3.tmp
printf "Matched $mjc jobs with combined size of $amt\n" >> Acsv3.tmp
done
****End of Comparision****
輸入的確切格式是什麼?注意你實際上並沒有在輸出中使用'jbid'變量,所以比較本身甚至不涉及該文件。 – ormaaj 2013-03-22 12:15:34
@ormaaj,我編輯了腳本以顯示'jbid'的用法,我用它來比較這些變量。 – Marcos 2013-03-22 12:25:49