Linux
sed + 刪除兩個匹配模式之間的所有行,而不是添加一個單詞作為 x=yes
這裡的腳本範例
當我在兩個匹配模式之間成功刪除時(第一個是
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 insted 所有刪除行,如上
是否可以在我的 sed 命令中添加此功能?
預期結果範例
#!/bin/sh x=yes
您可以使用
a
append 命令附加文本:sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
至少對於 GNU
sed
,即使該行本身被刪除,它也會執行。您只想附加一次,因此只需使用第一個地址 fora
和範圍 ford
。空表達式重複前一個表達式。