Encontre e extraia texto dentro de strings

Encontre e extraia texto dentro de strings

Quero encontrar texto dentro de uma string Pattern de um arquivo de dados e extraí-los em uma lista de texto usando Shell ou AppleScript.

Um exemplo dentro de XML:

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

Outro exemplo dentro de HTML:

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

Saída desejada:

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

Minha dúvida é a seguinte: como vou pesquisar, encontrar e extrair a série de todas as strings dentro de um arquivo de texto que possua o padrão específico de caracteres antes, depois ou ambos?

Responder1

Que tal usar o seguinte grepcomando:

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

Isso extrairá strings entre aspas duplas que aparecem após sinais de igual. Aqui está em ação:

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

Responder2

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

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

informação relacionada