Se eseguo il comando cat file | grep pattern
, ottengo molte righe di output. Come concatenate tutte le linee in una riga, sostituendole efficacemente "\n"
con "\" "
(end with "
seguita da spazio)?
cat file | grep pattern | xargs sed s/\n/ /g
non funziona per me.
sed
script tra virgolette singole in modo che Bash non si scherzi (dal momento chesed s/\n/ /g
chiamased
con due argomenti, vale a dires/n/
e/g
); (2) da quando si desidera che l'uscita dicat file | grep pattern
essere l' ingresso ased
, non gli argomenti ased
, è necessario eliminarexargs
; e (3) non è necessariocat
qui, poichégrep
può prendere un nome file come secondo argomento. Quindi avresti dovuto provaregrep pattern file | sed 's/\n/ /g'
. (In questo caso non avrebbe funzionato, per motivi indicati nel link sopra, ma ora lo sai per il futuro.)