Este é um problema com a globalização de casca e não awk
. Para globar recursivamente, você precisa ativar a opção bash globstar
.
shopt -s globstar
globstar
If set, the pattern ** used in a pathname expansion context will match all files and zero or more directories and subdirectories. If the pattern is followed by a /, only directories and subdirectories match.
Então você seria capaz de:
awk -F: '$3 ~ /example/' ** > C:/out.txt
Observe que você ainda receberá o erro sobre o diretório em si estar sendo ignorado, mas também irá recorrer a ele. Você pode esconder erros redirecionando stderr para / dev / null
awk -F: '$3 ~ /example/' ** > C:/out.txt 2>/dev/null