aquí ejemplo de script
cuando eliminé con éxito dos patrones coincidentes (el primero es cat <<EOF | more
y el segundo es read x
)
la secuencia de comandos
#!/bin/sh
cat <<EOF | more
.
.
.
.
EOF
echo -n "Do you agree with the License? [yes/no] "
read x
.
.
.
mi comando sed
sed -i '/^cat <<EOF | more/,/^\read x/d' test.sh
ahora quiero agregar a sed la capacidad de agregar el parámetro x=yes en lugar de todas las líneas de eliminación como se muestra arriba
¿Es posible agregar esta habilidad en mi comando sed?
ejemplo de resultados esperados
#!/bin/sh
x=yes
Respuesta1
Puede usar el a
comando ppend para agregar texto:
sed -e '/^cat <<EOF | more/ax=yes' -e '//,/^\read x/d'
Al menos con GNU sed
, se ejecuta incluso si se elimina la línea. Solo desea agregarlo una vez, así que use la primera dirección a
y el rango para d
. La expresión vacía repite la expresión anterior.