Como verifico se o nome de algum arquivo corresponde a algum padrão (possui "SSS", por exemplo) na if
cláusula? Minha variante não parece funcionar (é sempre falsa).
for f in B/* ; do
if [ $f = .*SSS.* ] ; then
# if [ -f $f ] -and -regex ".*SSS.*"; then
echo $f
fi
done
Respostas:
Você precisa de colchetes duplos e não '.' (Shell globbing sem sed regex)
Um pouco do google fornece https://stackoverflow.com/questions/2348379/use-regular-expression-in-if-condition-in-bash
fonte