2010-11-05 24 views

Respuesta

51

En función de la definición de los espacios en blanco, algo así como:

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

haría el truco.

+1

+1 tr es" más barato "que sed y evita invocar dos programas –

+9

GNU tr tiene la clase' [: space:] 'para" todos los espacios en blanco horizontales o verticales "(Supongo que "o" debería ser "y"). Por lo tanto, 'tr -d '[: space:]' 'debería hacer el truco también. – camh

+0

También '\ v' (pestaña vertical, que también se incluye en' [: espacio:] '). –

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

¿Puede explicar por qué '\ s' en' 's/\ s // g'' significa espacios en blanco? Gracias. –

+0

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

3

Si tiene datos UTF-8, mejor hacer esto:

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