スクリプトの例はこちら
2つの一致するパターン(最初のパターンはcat <<EOF | more
、2番目のパターンは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
。空の式は、前の式を繰り返します。