Partir fichero en varios dependiendo de cadena con awk

Tue 20 November 2012

Esta semana se me ha planteado el problema de tener que dividir un fichero en varios trozos. El asunto es que los trozos no son del mismo tamaño, pero por suerte, todos comenzaban con el mismo patrón. Gráficamente:

Fichero original:

“patron”
1
2
3
4
5
“patron”
6
7
8
“patron”
9
10

Fichero 1:

“patron”
1
2
3
4
5

Fichero 2:

“patron”
6
7
8

Fichero 3:

“patron”
9
10

Investigando me encontré con la estupenda herramienta awk, que nos puede solucionar la papeleta con una única linea de comando:

$ awk ‘/patron”fichero” n }’ ficheroOriginal

Esto lee el fichero “ficheroOriginal” y lo parte en fichero1 fichero2 …. ficheron cortándolo según el patrón buscado. Un motivo más para convencerme de estudiar a fondo la herramienta awk para solucionar este tipo de problemas por mí mismo sin tener que googlear ;)

social