我有一个while read line
循环,我指定$user
和$quota
twhich来自stdout
,但我还有另一个服务器的文件,我正在检查是否此文件中存在$user
,该文件还包含$user
的配额。
我需要将$quota
中获得的stdout
值与文件中的值进行比较。
示例:
zmsoap -z GetQuotaUsageRequest -v -u https://$sourceserver:7071/service/admin/soap/ |awk {'print $4" "$5'} | cut -d'"' -f2,4 | sed -r 's/["]+/ /g' | while read line
do {
user1=`echo $line|cut -f1 -d " "`
quota1=`echo $line|cut -f2 -d " "`
echo "$user1 has $quota1 on $sourceserver"
if grep -q "$user1" "$allremotequotasnew"; then
echo "OK: $user1 is EXISTING on $destserver"
else
echo "ERROR: $user1 NOT FOUND on $destserver" && echo "Creating $user1 on $destserver now..."
fi
}
done
任何想法?非常感谢
答案 0 :(得分:1)
该文件看起来像:user33 quota,我需要检查文件中是否存在$ user,如果是,则还要删除它的配额
您可以通过以下脚本剪辑解决此问题。
grep "$user1" "$allremotequotasnew" > /dev/null
if [ $? -eq 0 ];then
echo "OK: $user1 is EXISTING on $destserver"
dest_line=`grep "$user1" "$allremotequotasnew"`
dest_user=`echo $dest_line|cut -f1 -d " "`
dest_quota=`echo $dest_line|cut -f2 -d " "`
else
echo "ERROR: $user1 NOT FOUND on $destserver"
fi
dest_user和dest_quota是您要从文件中获取的内容。