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"