2010-09-25 290 views

Respuesta

31
sed 's/^.....//' 

significa

replace ("s", sustituto) a partir de la línea a continuación 5 caracteres ("") sin nada.

hay formas más compactas o flexibles para escribir esta usando sed o cortar.

+0

¿Cómo hacer esto para el último carácter de una cadena? – blarg

+1

@blarg try 'sed 's /.$//'' –

+0

más 1 para responder a la parte 'con sed' de la pregunta y luego mencionar que 'corte' es mejor –

10
sed 's/^.\{,5\}//' file.dat 
+3

BSD sed no acepta el * como máximo * atado ('{5}'), esto es específico de GNU. Una expresión que funciona tanto sería 'sed 's/^. \ {5 \} //' file.dat' – Tristan

75

Uso cut:

cut -c6- 

Esto imprime cada línea de la entrada a partir de la columna 6 (la primera columna es 1).

+0

Aquí, el corte tiene un mejor rendimiento que la sed, pero tengo problemas cuando se utiliza en UTF-8 caracteres codificados . – PSchwede

Cuestiones relacionadas