/etc/opendkim/keys/"$(hostname)"/default.txt
次の内容が含まれています
default._domainkey IN TXT "v=DKIM1; r=postmaster; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBZZZZZZZZZZZZZZZZZZZZZZZZYVW/965FePDPfxTIUT5ScJ3mZZZZZZZZ8BWNgLFS6JtZZZZZZZZZZZZZZk7Sc+eQwY6tHAQvHczJTTkICB4WW9mtc5PlFAZNuC9X3oYTeIp8cpScBmaIaP+t35fwh+PL7ZZZZZZZZZZ3ZxoFsJD6pvCqx+TCbZZZZZZZZ5JQIDAQAB" ; ----- DKIM default for mydomain.com
v=DKIM1; r=postmaster; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBZZZZZZZZZZZZZZZZZZZZZZZZYVW/965FePDPfxTIUT5ScJ3mZZZZZZZZ8BWNgLFS6JtZZZZZZZZZZZZZZk7Sc+eQwY6tHAQvHczJTTkICB4WW9mtc5PlFAZNuC9X3oYTeIp8cpScBmaIaP+t35fwh+PL7ZZZZZZZZZZ3ZxoFsJD6pvCqx+TCbZZZZZZZZ5JQIDAQAB
引用符の中の内容(除外)を別のファイルにコピーしたいと思います。
どうすればいいですか?
答え1
1行に引用符で囲まれた文字列が1つしかない場合、可能な最高のパフォーマンスソリューションは次のとおりですcut
。
cut -d\" -f2 <in >out
1行に複数の引用符付き文字列を使用できる場合は、次のことができます。
sed 's/[^"]*\("[^"]*"\)[^"]*/ \1 /g' <in >out
...これは、単に前後にスペースで区切られた行ごとに二重引用符で囲まれたすべての文字列を印刷します。
上記の解決策のどれもありませんその他の引用でも気づきました。たとえば、バックスラッシュでエスケープされた引用符やハード引用符に含まれる二重引用符文字列を無視しません。
答え2
sed 's/.*\"\(.*\)\".*/\1/' filename