다음과 같은 파일을 편집해야합니다.
auto wlx00
allow-hotplug wlx00
iface wlx000 inet dhcp
iface wlx000 inet6 auto
post-up sysctl -w net.ipv6.conf.wlx000.accept_ra=2
auto wlx000
목표는 'iface ... inet6'로 시작하는 줄을 삭제하고 공백으로 시작하는 다음 몇 줄도 삭제하는 것입니다 (없음 또는 둘 이상일 수 있음).
iface wlx000 inet6 auto
post-up sysctl -w net.ipv6.conf.wlx000.accept_ra=2
다음 결과를 위해 나머지는 그대로 유지하십시오.
auto wlx00
allow-hotplug wlx00
iface wlx000 inet dhcp
auto wlx000
다음과 같이 sed로 시도했습니다.
sed -i.old -r -e "/iface\s*\w*\s*inet6.*/,\${d;/^\s.*/d;}" /etc/configfile
그러나 올바른 위치에서 시작하여 끝까지 지워지는 모든 것을 제거합니다. iface 선택 텍스트 뒤에 공백이있는 줄을 제거하고 싶습니다.
sed
하나의 라이너를 다음 과 같이 개조 해보십시오 .
sed '/iface\s*\w*\s*inet6.*/,/^[^ ]/ {/^[^ i]/!d}' file
첫 번째 패턴에서 공백 문자로 시작하지 않는 첫 번째 줄까지의 범위를 일치시키고 공백 또는 "i"(선행의 경우 iface
)로 시작하는 줄을 삭제합니다 . i
블록 이후에 필요한 것을 다시 생각할 필요가 있습니다.
다음과 같이 작동합니다.
sed -n '/iface\s*\w*\s*inet6.*/ {:L; n; /^[ ]/bL;}; p' file
Pls는 다시 시도하고보고합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다