다음은 예제 스크립트입니다.
일치하는 두 패턴 사이에서 성공적으로 삭제한 경우(첫 번째 패턴은 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
pend 명령을 사용하여 텍스트를 추가 할 수 있습니다 .
sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
적어도 GNU에서는 sed
줄 자체가 삭제되어도 실행됩니다. 한 번만 추가하고 싶으므로 첫 번째 주소 a
와 범위 만 사용하세요 d
. 빈 표현식은 이전 표현식을 반복합니다.