Usando find
e sed
:
#!/bin/bash
find /home/directory/* -type f -name '*.gz' \
-not -name '*mask*' | while IFS= read -r file; do
mask="$(sed 's/^\([^.]*\)/-mask/' <<<"$file")"
done
Considere que qualquer nome de diretório não contém a string mask
.