/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
한 줄에 따옴표로 묶인 문자열이 하나만 있는 경우 가능한 최고의 성능 솔루션은 다음과 같습니다 cut
.
cut -d\" -f2 <in >out
한 줄에 여러 개의 인용 문자열을 사용할 수 있는 경우 다음을 수행할 수 있습니다.
sed 's/[^"]*\("[^"]*"\)[^"]*/ \1 /g' <in >out
...이것은 단순히 앞뒤 공백으로 구분된 행당 큰따옴표로 묶인 모든 문자열을 인쇄합니다.
위의 솔루션 중 어느 것도 없습니다기타 인용문하지만 깨달았습니다. 예를 들어, 백슬래시로 이스케이프 처리된 따옴표나 하드 따옴표 내에 포함된 큰따옴표 문자열을 무시하지 않습니다.
답변2
sed 's/.*\"\(.*\)\".*/\1/' filename