2010-11-05 16 views

risposta

51

A seconda della definizione di spazi bianchi, qualcosa come:

tr -d ' \t\n\r\f' <inputFile >outputFile 

farebbe il trucco.

+1

+1 tr è" più economico "di sed e si evita di richiamare due programmi –

+9

GNU tr ha la classe' [: space:] 'per" tutti gli spazi bianchi orizzontali o verticali "(Presumo "o" dovrebbe essere "e"). Quindi 'tr -d '[: space:]'' dovrebbe fare anche il trucco. – camh

+0

Anche '\ v' (scheda verticale, che è anche inclusa in' [: spazio:] '). –

12
sed 's/\s//g' input.txt | tr -d '\n' 
+0

Puoi spiegare perché '\ s' in' 's/\ s // g'' significa spazio bianco? Grazie. –

+0

@ so.very.tired: 'man pcresyntax' –

3

Se si dispone di dati UTF-8, meglio fare questo:

perl -CS -pe 's/\p{Space}//g' <input> output 
Problemi correlati