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