Lun May 12, 2008 2:49 am
|
 |
rfm
Perlero Nuevo

|
Registrado: 09 Nov 2007
Mensajes: 37
|
|
| Uso de sed |
|
|
Hola a todos.
Tengo una duda sobre el uso de sed.
Quiero modificar una línea de un fichero; dicha línea tiene la palabra "leftcert=loquesea" y quiero cambiar la línea entera por "leftcert=otracosa".
He intentado lo siguiente pero no funciona así:
| Código: |
| cat fichero | sed 's/leftcert*/leftcert=$myVariable/g' > fichero |
¿Alguien me puede echar una mano?
Muchas gracias |
|
|
|
Lun May 12, 2008 4:24 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 3654
Ubicación: Valladolid, España
|
|
|
|
|
El principal problema es que no puedes hacer un cat a un fichero y al mismo tiempo escribir en él. Hay que agregar la opción '-i' para que haga el cambio in-situ.
| Código: |
| sed -i 's/leftcert=.*/leftcert=otracosa/g' fichero |
Vamos, lo mismo que haríamos en Perl:
| Código: |
| perl -pi -e 's/leftcert=.*/leftcert=otracosa/g' fichero |
|
|
Powered by phpBB © 2001, 2005 phpBB Group
|