Найти и извлечь текст внутри строк

Найти и извлечь текст внутри строк

Я хочу найти текст внутри строки Pattern из файла данных и извлечь его в текстовый список с помощью оболочки или AppleScript.

Пример внутри XML:

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

Еще один пример внутри HMTL:

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

Желаемый результат:

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

Мой вопрос заключается в следующем: как мне искать, находить и извлекать последовательность всех строк внутри текстового файла, которые имеют определенный шаблон символов до, после или и то, и другое?

решение1

Как насчет использования следующей grepкоманды:

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

Это извлечет строки в двойных кавычках, которые появляются после знаков равенства. Вот это в действии:

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

решение2

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

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

Связанный контент