파일이 있는데 jail.local
다음과 같은 섹션이 있습니다.
[apache]
enabled = true
logpath = /var/log/apache/error.log
[ssh]
enabled = false
port = ssh
나는 원해요
- 일치 문자열
[ssh]
합계 - 아래 문자열 2줄에서 교체를 수행합니다. 즉, 변경
enabled = false
도착하다enabled = true
그래서 새로운 텍스트는
[ssh]
enabled = true
port = ssh
나는 사용법을 보았지만 이 문제를 해결하는 데 필요한 명령이 오히려 "줄당" 지향적이라는 것을 sed
이해할 수 없습니다 . 이 교체 작업을 수행하려면 어떻게 해야 합니까?sed
답변1
GNU sed 사용:
sed -e '/\[ssh\]/,+2{s/false/true/}' file
POSIX sed 사용:
sed -e '/\[ssh\]/n;n;s/false/true/' file