Si j'exécute la commande cat file | grep pattern, j'obtiens de nombreuses lignes de sortie. Comment concaténer toutes les lignes en une seule ligne, en remplaçant efficacement chacune "\n"par "\" "(fin par "suivi d'un espace)?
cat file | grep pattern | xargs sed s/\n/ /g
ne fonctionne pas pour moi.
sedscript entre guillemets simples pour que Bash ne le dérange pas (puisque lessed s/\n/ /gappelssedavec deux arguments, à savoirs/n/et/g); (2) puisque vous voulez la sortiecat file | grep patternêtre l' entrée àsed, pas les arguments àsed, vous devez éliminerxargs; et (3) ce n'est pas nécessairecatici, cargreppeut prendre un nom de fichier comme deuxième argument. Donc, vous auriez dû essayergrep pattern file | sed 's/\n/ /g'. (Dans ce cas, cela n'aurait pas fonctionné, pour les raisons données sur le lien ci-dessus, mais maintenant vous savez pour l'avenir.)