una texto parrafos pagina insertar imagen ejemplos como atributo linux bash awk sed grep

linux - parrafos - como insertar texto en una pagina web en html



Cómo extraer texto entre etiquetas HTML con o condición varias veces (1)

He estado investigando cómo extraer etiquetas de título de html. Casi me he dado cuenta de que Regex y html no se mezclan y que grep se puede usar. Sin embargo, el código que encontré aquí , se ve así:

awk -vRS="</title>" ''/<title>/{gsub(/.*<title>|/n+/,"");print;exit}''

Ahora, esto funciona para encontrar el texto entre las etiquetas de título solo una vez. Me gustaría saber cómo puedo hacerlo funcionar en cada línea. Podría hacer un cat file; while read line; do ...; done cat file; while read line; do ...; done cat file; while read line; do ...; done . Sin embargo, sé que probablemente no sea muy eficiente y hay una mejor manera.

En segundo lugar, en el archivo necesito mantener las líneas que comienzan con la cadena ''-''. Creo que esto requiere agregar una declaración ''o'' en awk para que coincida con las etiquetas de título y cualquier línea que comience con ''-''

El archivo de entrada se vería así:

text text text <title>random text of the title 1</title> random html stuff --time-- xyz more random text <title>random text of the title 2</title> hmtl text --time-- some text <title>random text of the title 3</title> more text tags --time-- text here <title>random text of the title 4</title> random text html --time--

El resultado deseado:

<title>random text of the title 1</title> --time-- <title>random text of the title 2</title> --time-- <title>random text of the title 3</title> --time-- <title>random text of the title 4</title> --time--

No soy tan bueno con awk, pero estoy aprendiendo. Sé que debería haber una opción para imprimir todo, pero es la declaración de O que estoy realmente atrapado. Estoy abierto a sed o grep si crees que es más eficiente. Cualquier ayuda o dirección es muy apreciada.


Para su entrada determinada, grep es suficiente

$ grep -o ''<.*>/|^--.*'' ip.html <title>random text of the title 1</title> --time-- <title>random text of the title 2</title> --time-- <title>random text of the title 3</title> --time-- <title>random text of the title 4</title> --time--

  • -o extraer solo las partes correspondientes
  • <.*> extracto de < hasta el último > en la línea
  • /|^--.* patrón alternativo, si la línea comienza con -- obtenga todo de esa línea

Para restringir solo a las etiquetas de title ,

grep -o ''<title.*title>/|^--.*'' ip.html