Si algún archivo contiene una línea:
...
OPTION=“—option1 —option2 param —option3 —option4”
...
¿Cuál sería la mejor combinación de utilidades para:
- Busque esa línea en el archivo (suponga que es la única línea con la cadena 'OPCIÓN'
agregue a la cadena de opción para que ahora sea:
OPTION=“—option1 —option2 param —option3 —option4”
Respuesta1
Con el venerable ed:
ed file <<<EOF
/OPTION/a
-option5
.
wq
EOF
Respuesta2
Usandosed
sed 's/\(OPTION=\“—option1 —option2 param —option3 —option4\)\"/\1 -option5\"/
\(
coloca el patrón en un registro que es recuperado \1
para sustitución. Observe \"
dónde debe escapar "
con una barra invertida.
Si está buscando el patrón que comienza con OPTION
, puede usar
sed 's/\(OPTION=.*\)\"/\1 -option5\"/
Respuesta3
perl -pi -e 's/(OPTION=".*)"/$1 —option5"/g' file.txt
- manuales;perla,Perlrun
- -p es por bucle de línea
- -yo estoy en línea
- -e es expresión (expresión regular)