Buscar y extraer texto dentro de cadenas

Buscar y extraer texto dentro de cadenas

Quiero encontrar texto dentro de un patrón de cadena de un archivo de datos y extraerlo en una lista de texto usando Shell o AppleScript.

Un ejemplo dentro de XML:

node file="source_files/ (var1) .mp3"

Otro ejemplo dentro de HMTL:

src="http:// (example.com) /dir/ (var2) .txt"

Salida deseada:

1.1 source_files/example1.mp3
1.2 source_files/blah.blah

2.1 http://example.com/dir/example2.txt
2.2 http://example.com/dir/blah.blah

Mi pregunta es la siguiente: ¿cómo voy a buscar, encontrar y extraer la serie de todas las cadenas dentro de un archivo de texto que tienen el patrón específico de caracteres antes, después o ambos?

Respuesta1

¿Qué tal si usamos el siguiente grepcomando?

grep -Po '(?<==")[^"]+(?=")'

Esto extraerá cadenas entre comillas dobles que aparecen después de los signos iguales. Aquí está en acción:

user@host:~$ echo 'node file="source_files/example1.mp3"' \
| grep -Po '(?<==")[^"]+(?=")'

source_files/example1.mp3

user@host:~$ echo 'src="http://example2.com/dir/example2.txt"' \
| grep -Po '(?<==")[^"]+(?=")'

http://example2.com/dir/example2.txt

Respuesta2

grep -F 'node file="source_files/example1.mp3"'

grep -F 'src="http://example2.com/dir/example2.txt"'

información relacionada