Je veux trouver une commande bash qui me permettra de grep chaque fichier dans un répertoire et d'écrire la sortie de ce grep dans un fichier séparé. Ma supposition aurait été de faire quelque chose comme ça
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
mais, pour autant que je sache, xargs n'aime pas les guillemets. Cependant, si je supprime les guillemets doubles, la commande redirige la sortie de la commande entière vers un seul fichier appelé '{}'. Out au lieu de vers une série de fichiers individuels.
Quelqu'un connaît-il un moyen de le faire en utilisant xargs? Je viens d'utiliser ce scénario grep comme exemple pour illustrer mon problème avec xargs, donc toutes les solutions qui n'utilisent pas xargs ne sont pas aussi applicables pour moi.
xargs
sans-0
: cela ne s'applique que lorsque vous canalisezfind
la sortie avecxargs
, non? quand je faisxargs -a <input_file>
comment utiliserais-je cela? La plupart des commandes aiment lesgrep
sorties avec\n
et non.\0.
Le seul moyen auquel je pense pour contourner cetr
problème est de l'utiliser à nouveau pour résoudre ce problème peut-être. Mais pourquoi est-il important de l'utiliser uniquement avec-0
?