여기 스크립트 예
cat <<EOF | more
일치하는 두 패턴(첫 번째 패턴 과 두 번째 패턴 read x
) 을 성공적으로 삭제했을 때
대본
#!/bin/sh
cat <<EOF | more
.
.
.
.
EOF
echo -n "Do you agree with the License? [yes/no] "
read x
.
.
.
내 sed 명령
sed -i '/^cat <<EOF | more/,/^\read x/d' test.sh
이제 위와 같이 모든 삭제 줄에 x=yes 매개변수를 추가하는 기능을 sed에 추가하고 싶습니다.
내 sed 명령에 이 기능을 추가할 수 있습니까?
예상되는 결과의 예
#!/bin/sh
x=yes
답변1
a
ppend 명령을 사용하여 텍스트를 추가할 수 있습니다 .
sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
적어도 GNU에서는 sed
줄 자체가 삭제되더라도 실행됩니다. 한 번만 추가하고 싶으므로 첫 번째 주소 a
와 범위를 사용하세요 d
. 빈 표현식은 이전 표현식을 반복합니다.