【发布时间】:2016-08-24 07:35:51
【问题描述】:
所以我有这个代码,它是关于 squid 代理的,它寻找与 $DELETE 变量匹配的行。
如果用户输入deleteall 进行确认,则 sed 会删除所有匹配 "s_test" 的行
现在我希望 sed 删除与 $aclonly 变量匹配的行和上面的行,它也可以是变量,它总是以 "#PR[0-9]*" 开头
感谢您的任何建议
Example:
#PR0000
http_access allow s_test d_test http_port
function remove(){
source_acl=$(grep $DELETE /etc/squid3/conf.d/$CUSTOMER.conf)
echo $source_acl
acl_only=$(echo $source_acl | cut -f2 -d" ")
echo "#$DELETE = $acl_only"
echo "#FOLGENE ACL/RULES GEFUNDEN"
grep $acl_only /etc/squid3/conf.d/$CUSTOMER.conf
return=$?
if [ "$return" = "0" ];then
echo "WRITE DELETEALL TO REMOVE SHOWN ALCs/RULES"
echo "WRITE DELETE TO REMOVE ONLY SOURCE ACL WHICH MATCHES IP"
read delete
if [ "$delete" = "deleteall" ];then
sed -i -e /$acl_only/d /etc/squid3/conf.d/$CUSTOMER.conf
return=$?
if [ "$return" = "0" ];then
echo DELETE SEQUEZ COMPLETET
else
echo ERROR
fi
fi
if [ "$delete" = "delete" ];then
sed -i -e /$DELETE/d /etc/squid3/conf.d/$CUSTOMER.conf
return=$?
if [ "$return" = "0" ];then
echo DELETE SEQUEZ COMPLETET
else
echo ERROR
fi
fi
else
echo NO MATCHES
fi
exit
【问题讨论】: