Tengo un archivo de texto (más correctamente, un “ estilo alemán “ archivo CSV, coma decimal separada por punto y coma) que tiene una fecha y el valor de una medida en cada línea.
Hay tramos de valores defectuosos que deseo eliminar antes de seguir trabajando. Me gustaría almacenar estos recortes en algunos guiones para que mis correcciones estén documentadas y pueda reproducir esas correcciones si es necesario.Eliminar líneas que están entre patrones dados de un archivo (usando herramientas de Unix)
Las líneas de este aspecto:
28.01.2005 14:48:38;5,166
28.01.2005 14:50:38;2,916
28.01.2005 14:52:38;0,000
28.01.2005 14:54:38;0,000
(long stretch of values that should be removed; could also be something else beside 0)
01.02.2005 00:11:43;0,000
01.02.2005 00:13:43;1,333
01.02.2005 00:15:43;3,250
Ahora me gustaría para almacenar una lista de inicio y fin patrones como 28.01.2005 14:52:38
+ 01.02.2005 00:11:43
, y el guión habría cortado las líneas que coincidan con estos empiezan pares/finales y todo lo que está entre ellos.
Estoy pensando en hackear una secuencia de comandos awk, pero tal vez me falta una herramienta ya existente.
(líneas de impresión no coinciden)
¡Genial! Sabía que me estaba perdiendo algo & hellip; Siempre utilicé sed con patrones únicos y nunca recordé que ofrece rangos. –
Además, puedo poner las expresiones en un archivo, donde también puedo usar comentarios (con '#'). La línea de comando es 'sed -f scriptfile outfile'. –