I I가에 운영하고있어 다음과 같은 텍스트가 :나오지도 - 대체 여러 줄 (텍스트의 전체 블록)
... other stuff here..
options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
owner("root"); group("log"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$");
};
... other stuff here..
내가 만드는 새로운 라인으로 log_fifo_size(30000);
을 추가하기 위해 sed를 사용할 필요가 내 내가 그것을 사용하는 방법을 정규 표현식 작업만큼 충분히 자신이없는 이해
... other stuff here..
options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no);
owner("root"); group("log"); perm(0640); stats_freq(0);
bad_hostname("^gconfd$");
log_fifo_size(30000);
};
... other stuff here..
: 같은 텍스트보기. 구문에 대한 설명이나 도움이 필요합니다.
나는 다음 시도했다 :
$sed -e 's/options.*/TEST/g' syslog.conf
$sed -e '/options.*/ {N; s//TEST/g}' syslog.conf
둘 다 나를 사랑 받고 있지만, 충분히 닫을 수 없습니다.
sed -e '/options.*/ {N;N; s//options {/g}' syslog.conf
이것은 내가 가장 가까이있는 것입니다. 그러나 이후로 행 사이의 숫자는 options {
과 }
사이에 약간 까다 롭습니다.
나는 가이드가 무수히 많았지 만, 문서 작성을 통해 항상 힘든 시간을 보냈습니다. 나는 따라야 할 좋은 예를 좋아한다. 그래서 나는 내가 기초를 배우고 나중에 정규 표현식/sed의 기초를 배우는 데 사용할 수있는 예제를 만들 수있는 도움을 얻을 수 있는지 묻는다. 귀하의 예제에서
'sed -e '/ options {/, /};/log_fifo_size (30000) \ ; \ n & /} 'YourFile' 예제를 약간 수정하면됩니다. – Torxed
맞아, 그냥 잊지 마라. \ n gnu sed에서 사용할 수 있지만 다른 모든 sed는 없다. (광산 aix와 sun과 같다) – NeronLeVelu