J'essaie de produire ce comportement:
grep 192.168.1 *.txt
En passant une chaîne dans grep via Xargs mais cela passe à la fin plutôt que comme premier paramètre.
echo 192.168.1 | xargs grep *.txt
J'ai besoin de dire à xargs (ou quelque chose de similaire) de mettre la chaîne entrante entre 'grep' et '*' au lieu de la fin.
Comment puis-je faire cela?
Réponses:
Exemple
Exemples de fichiers:
Exemple d'exécution:
la source
Une autre approche:
Cela ne surchargera pas la longueur de la ligne de commande du shell avec trop de noms de fichiers. Pour éviter la confusion entre
xargs
/grep
avec des noms de fichiers qui ont des espaces,-print0
et les-0
options délimiteront chaque nom trouvé avec un nul plutôt qu'une LF.la source