답변:
bla.conf의 2 행부터 4 행까지 주석을 달려면 :
sed -i '2,4 s/^/#/' bla.conf
원하는 명령을 작성하려면 위의 명령을 comment라는 쉘 스크립트에 넣으십시오.
#!/bin/sh
sed -i "$1"' s/^/#/' "$2"
이 스크립트는 첫 줄과 마지막 줄이 대시가 아닌 쉼표로 구분된다는 점을 제외하고는 사용자와 동일하게 사용됩니다. 예를 들면 다음과 같습니다.
comment 2,4 bla.conf
주석 해제 명령을 유사하게 작성할 수 있습니다.
sed
의 라인 선택은 매우 강력합니다. 번호로 첫 번째와 마지막 줄을 지정하는 것 외에도 정규 표현식으로 지정할 수 있습니다. 그래서, 당신은 포함 하나에서 모든 라인을 명령 할 경우 foo
하나의 포함에 bar
사용을 :
comment '/foo/,/bar/' bla.conf
BSD sed의 경우, -i
옵션은 단지 빈 문자열 일지라도 인수가 필요합니다. 예를 들어, 위의 top 명령을 다음과 같이 바꾸십시오.
sed -i '' '2,4 s/^/#/' bla.conf
스크립트의 명령을 다음과 같이 바꾸십시오.
sed -i '' "$1"' s/^/#/' "$2"
'
후 더블은 -i
의도적인가? 필요하지 않았습니다.
GNU sed를 사용하여 (파일을 -i
옵션 으로 대체 ) :
sed -i '14,18 s/^/#/' bla.conf
sed -i '14,18 s/^##*//' bla.conf
sed
,perl
terdon 등에 의해 구체적으로 A는!