Não ficou claro no código abaixo, a real necessidade de abertura de duas estruturas de colchetes na linha "06".
01- #!/bin/bash
02- ip=$1
03- DIR=~/Capacitação/Shell-Script/Parte-2/Exercicios/apache-log
04- regex="\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
05- cd $DIR
06- if [[ $ip =~ $regex ]]
07- then
08- cat apache.log | grep $1
09- if [ $? -ne 0 ]
10- then
11- echo "O endereco IP procurado nao esta presente no arquivo"
12 fi
13- else
14- echo "Formato não é válido"
15- fi