2010-06-03 31 views
2

j'utilise quelques commandes pour chat quelques fichiers, comme celui-ci:Bash: « xargs chat », en ajoutant chaque fichier après les nouvelles lignes

cat somefile | grep example | awk -F '"' '{ print $2 }' | xargs cat 

Il a presque des œuvres, mais mon problème est que je J'aimerais ajouter une nouvelle ligne après chaque fichier.

Est-ce que cela peut être fait dans une seule doublure?

(sûrement je peux créer un nouveau script ou une fonction qui fait chat puis echo -n mais je me demandais si cela pouvait être résolu d'une autre manière)

Répondre

4
cat somefile | grep example | awk -F '"' '{ print $2 }' | while read file; do cat $file; echo ""; done 
+0

excellent :) (Je ne peux accepter la réponse que dans 7 minutes, gardera l'onglet ouvert :) – NoozNooz42

0

awk -F '"' '/ example/{système ("cat" $ 2}; printf "\ n"} somefile

1

utilisant GNU parallèle http://www.gnu.org/software/parallel/ il peut être encore plus rapide (selon votre système):

cat somefile | grep example | awk -F '"' '{ print $2 }' | parallel "cat {}; echo"