Je veux créer un fichier concaténé qui ajoute tous les fichiers sauf ceux qui se terminent par .XYZ à partir d’un répertoire (récursif dans les sous-répertoires).
J’ai essayé ceci mais ça ne marche pas:
find . -type f | grep -v *.XYZ -exec cat {} \; > /tmp/alldata.txt
Cela fonctionne mais ne parvient pas à exclure les fichiers se terminant par “.XYZ”:
find . -type f -exec cat {} \; > /tmp/alldata.txt
find . -type f -not -name "*.XYZ" -exec cat {} \; > /tmp/alldata.txt
Les versions plus récentes de gnu find
incluent -not
ce qui annule l’argument suivant. Dans ce cas, vous pouvez combiner cela avec l’argument -name
pour obtenir ce que vous voulez sans appeler grep -v
.