(9 risposte)
Chiuso 2 anni fa.
Abbiamo un file in Linux che contiene una riga per record, ma il problema si verifica quando la riga contiene alcuni nuovi caratteri di riga. In questo caso, la barra rovesciata viene aggiunta alla fine della riga e il record viene suddiviso in più righe. Quindi di seguito è il mio problema:
"abc def xyz pqr"
dovrebbe essere:
"abc def xyz pqr"
Ho provato sed -I 's/\n/ /g' <file_name>
che non funziona. Ho anche provato tr
comando ma sostituisce solo un carattere, non la stringa. Puoi suggerire un comando per gestire questo problema.
Risposta accettata:
Dovresti essere in grado di utilizzare
sed -e :a -e '/\$/N; s/\n//; ta'
Vedi la spiegazione dei famosi Sed One-Liners di Peter Krumins, parte I, 39. Aggiungi una riga alla successiva se termina con una barra rovesciata “” .