Tengo un archivo de registro con marcas de tiempo. Ocasionalmente, hay varias marcas de tiempo en una línea. Ahora me gustaría eliminar todas las marcas de tiempo de una línea, pero conservar la primera.
Puedo hacerlo, s/pattern//2
pero eso solo elimina la segunda ocurrencia y sed
no permite algo así s/pattern//2-
.
¿Alguna sugerencia?
Respuestas:
Con GNU
sed
:El
2
especifica que el segundo patrón y todo el restog
deben eliminarse. Entonces esto mantendrá el primero.fuente
Esto debería funcionar (reemplace _ por algo más si choca con sus registros):
fuente
\n
.o sin el sed goto:
Las soluciones genéricas para eliminar de la enésima posición (3 por ejemplo) son:
fuente
Una ligera variación en la respuesta de @ jillagre (modificada para robustez) podría verse así:
... pero en algunos
sed
s puede que necesite reemplazar eln
en el lado derecho de la primeras///
declaración de sustitución con un carácter literal de línea de\n
hilo.fuente