Я работаю над сценарием, чтобы определить, находится ли ЛЮБОЙ IP-адрес в одном из моих файлов банов.
Я могу заставить его работать до сохранения переменной, но не могу получить последнийgrep для работы с использованием переменной.Причиной для переменных step1 и 2 была попытка заставить egrep работать.
Я ограничен сервером, который я использую.Я ничего не могу добавить к нему, кроме базового grep, поэтому опция fgrep, показанная кем-то еще в другом ответе, не работает.
now=$(date +"%Y%m%d"'.log')
VAR1="/LOCATION1/$now"
VAR2="/LOCATION2/$now"
echo Please enter the Username:
read input
echo You have entered $input
read -n 1 -s -r -p "Press any key to continue"
echo
echo DETECTED LOGINS FROM THE FOLLOWING IP ADDRESSES:
all=$(grep "$input" $VAR1 | grep login | grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}" |
grep -v <MyIP> | sort | uniq &&
grep "$input" $VAR2 | grep login | grep -E -o "([0-9]{1,3}[.]){3}[0-9]{1,3}" |
grep -v <MyIP> | sort | uniq)
echo "${all[*]}"
echo
step1=$(echo $all|tr ' ' '|')
step2=$(echo "'$step1'")
read -n 1 -s -r -p "Press any key to continue"
echo
echo FOUND BANS:
egrep $step2 /BANLOCATOIN/$now
read -n 1 -s -r -p "Press any key to end"
echo