Il semble pour moi que vous voulez sortir des lignes où le premier champ, dans une liste de champs séparés par des virgules, se termine par 'F'
Si vous ne vous souciez pas de savoir de quel fichier .gz proviennent les lignes, ou quel fichier se trouve dans le fichier gzippé, c'est-à-dire que vous voulez simplement les lignes listées, vous n'avez même pas besoin de les lancer. gz fichiers d'abord, de cette façon vous ne devrez pas les re-zip.
zcat file.gz | awk -F, '$1 ~ /F$/'
Pour chaque fichier de l'arborescence de répertoires actuelle, utilisez une recherche avec xargs. Cet exemple, il limite seulement le répertoire courant, mais il suffit de laisser le « -maxdepth 1 » pour obtenir l'arborescence tout
find . -maxdepth 1 -name \*.gz -print0 | xargs -0 zcat | awk -F, '$1 ~ /F$/'
Ceci dit pour trouver les fichiers qui se terminent par « .gz » et d'écrire leurs noms avec un terminateur NUL (le 0 dans -print0), pipe qui sortit par xargs qui va choisir la liste en se basant sur NUL chacracters (l'argument "-0") et lancer zcat sur les fichiers. Pipe cette sortie via votre commande awk et vous obtiendrez les lignes pertinentes écrites.
zcat est votre ami –