Isso deve fazer o trabalho:
"INCORRECT" no texto dentro de arquivos dentro de pastas e arquivos dentro da pasta dada:
SEARCH_DIR="/var/log"
for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1); do
DIR_CHECK=$(grep INCORRECT $i)
[[ "$DIR_CHECK" =~ "INCORRECT" ]] \
&& echo -e "\e[00;31m$i\e[00m" \
|| echo -e "\e[00;32m$i\e[00m"
done
"INCORRECTO no texto dentro de arquivos dentro de pastas na pasta especificada":
SEARCH_DIR="/var/log"
for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1 -type d); do
DIR_CHECK=$(grep INCORRECT $i)
[[ "$DIR_CHECK" =~ "INCORRECT" ]] \
&& echo -e "\e[00;31m$i\e[00m" \
|| echo -e "\e[00;32m$i\e[00m"
done
"INCORRECT" em nome de pastas e arquivos em determinada pasta:
SEARCH_DIR="/var/log"
for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1); do
DIR_CHECK=$(echo $i | grep INCORRECT)
[[ "$DIR_CHECK" =~ "INCORRECT" ]] \
&& echo -e "\e[00;31m$i\e[00m" \
|| echo -e "\e[00;32m$i\e[00m"
done
"INCORRECT" em nome das pastas em determinadas pastas:
SEARCH_DIR="/var/log"
for i in $(find $SEARCH_DIR -maxdepth 1 -mindepth 1 -type d); do
DIR_CHECK=$(echo $i | grep INCORRECT)
[[ "$DIR_CHECK" =~ "INCORRECT" ]] \
&& echo -e "\e[00;31m$i\e[00m" \
|| echo -e "\e[00;32m$i\e[00m"
done