aqui exemplo de script
quando eu excluí com sucesso entre dois padrões correspondentes (o primeiro é cat <<EOF | more
e o segundo é read x
)
o roteiro
#!/bin/sh
cat <<EOF | more
.
.
.
.
EOF
echo -n "Do you agree with the License? [yes/no] "
read x
.
.
.
meu comando sed
sed -i '/^cat <<EOF | more/,/^\read x/d' test.sh
agora quero adicionar ao sed a capacidade de adicionar o parâmetro x=yes em todas as linhas de exclusão como acima
é possível adicionar essa habilidade no meu comando sed?
exemplo de resultados esperados
#!/bin/sh
x=yes
Responder1
Você pode usar o a
comando ppend para anexar texto:
sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
Pelo menos com GNU sed
, ele é executado mesmo que a própria linha seja excluída. Você deseja anexá-lo apenas uma vez, então use o primeiro endereço for a
e o intervalo for d
. A expressão vazia repete a expressão anterior.