El script de shell de Linux sed toma los datos en un par de etiquetas

Tabla de contenido

Antecedentes del problema

Análisis de ideas

Solución


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.

Supongo que te gusta

Origin blog.csdn.net/qq_35902025/article/details/129945218
Recomendado
Clasificación