Tabla de contenido
Antecedentes del problema
En los sistemas Linux, al ubicar un determinado dato en un archivo de texto, generalmente se usan un par de etiquetas para intercalar los datos. Si desea utilizar un script de shell para extraerlos, ¿cómo debería resolverlo?
Análisis de ideas
Utilice sed para extraer una fila de datos entre etiquetas específicas
Ejemplo de texto:
etiqueta:
100
etiqueta:
Este es un par de datos intercalados entre etiquetas: etiquetas. Necesitamos extraer los datos 100.
Si el nombre de este archivo de texto es test.inp, entonces el ejemplo del script de extracción es el siguiente
Solución
cat test.inp | sed -n '/tag:/,/tag:/p'
Pero si encontramos esta situación, también extraeremos las etiquetas. Si solo queremos los datos, podemos simplemente eliminar la primera y las dos últimas líneas del contenido propuesto. El método es el siguiente:
cat test.inp | sed -n '/tag:/,/tag:/p' | awk 'NR>2{print line}{line=$0}' >result.out
Este método es adecuado para extraer una fila de datos intercalados entre un par de etiquetas.