Sortie de tuyauterie vers xargs concatènera chaque ligne de sortie en une seule ligne avec des espaces :
grep pattern file | xargs
Ou n'importe quelle commande, par ex. ls | xargs . La limite par défaut de xargs la sortie est d'environ 4096 caractères, mais peut être augmentée avec par exemple. xargs -s 8192 .
grep xargs
Utilisez tr '\n' ' ' pour traduire tous les caractères de nouvelle ligne en espaces :
$ grep pattern file | tr '\n' ' '
Remarque :grep lit les fichiers, cat concatène les fichiers. Ne cat file | grep !
Modifier :
tr ne peut gérer que les traductions d'un seul caractère. Vous pouvez utiliser awk pour changer le séparateur d'enregistrement de sortie comme :
$ grep pattern file | awk '{print}' ORS='" '
Cela transformerait :
one
two
three
à :
one" two" three"