這裡是腳本的例子
當我在兩個匹配模式之間成功刪除時(第一個是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
現在我想新增 sed 的功能來新增參數 x=yes 插入所有刪除行,如上所述
是否可以在我的 sed 命令中添加此功能?
預期結果範例
#!/bin/sh
x=yes
答案1
您可以使用a
pend 指令追加文字:
sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
至少對於 GNU 來說sed
,即使該行本身被刪除,它也會被執行。您只想將其附加一次,因此只需使用 的第一個位址a
和 的範圍d
。空表達式重複前一個表達式。