このデータがあります。
photo for Kurtis Hardy" data-
photo for Paul Hoven" data-sr
中間名のみを取得するようにフィルタリングしたいと思います。このコマンドを使用して、次の行を取得します。
cat File| grep -E -o 'photo for.{0,20}'
ベストアンサー1
ここに猫は必要ありません。猫を放っておきます。
あなたの例のように、各名前は「写真」の後に始まり、最初の「」で終わると仮定します。そうでない場合はお知らせください。それ以外の場合は、「名前」と見なされるものについてもっと考える必要があります。
grep -E 'photo for [^"]{0,20}"' File | sed 's/photo for \([^"]\{0,20\}\)".*/\1/'
それとももっと簡単です:
sed -n 's/photo for \([^"]\{0,20\}\)".*/\1/p' File