文字列内のテキストの検索と抽出

文字列内のテキストの検索と抽出

データファイルで文字列パターン内のテキストを見つけ、シェルまたは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

おすすめ記事