Я написал кое-что, чтобы помочь мне с этим и поместил в мой .bash_login файл
dtun()
{
while read a b _ _ c _
do c=${c#*=}
echo "delete ${a%[*} ${b%[*} esp ${c%(*}; " | setkey -c
done < <(setkey -D | grep $1 -A 1 | tr -d '\n' | sed -e 's/--/\n/g' )
}
Просто вызовите dtun
для удаления SAs
В случае, если вы на самом деле используете оболочку zsh
,(<<<
является нестандартным оператором -, который происходит из zsh
, но был скопирован в несколько других оболочек после ), обратите внимание, что вам не нужно вызывать perl
для этого.
Вы можете:
set -o extendedglob # for (#m) below
printf '%s\n' ${str//(#m)<->/$((MATCH+1))}
Где
(#m)
включает захват всего совпадения в$MATCH
(эквивалент perl
's$&
)<->
соответствует любой последовательности десятичных цифр (это похоже на <5-12>
, но без ограничений ).