¿Cómo puedo descomentar una línea? // Configure::write('debug', 2); usando sed? He intentado
sed 's+// Configure::write('debug', 2);+Configure::write('debug', 2);+g' -I fileEl problema es que está usando comillas simples para indicar el argumento y las tiene dentro de la cadena que está tratando de hacer coincidir, por lo que el shell simplemente las elimina y la coincidencia falla.
Use comillas dobles alrededor del argumento:
sed "s+// Configure::write('debug', 2);+Configure::write('debug', 2);+g" -i file Tenga en cuenta que, según la versión de sed que esté utilizando, es posible que deba escapar de los paréntesis para que no se traten como un grupo de captura.
Probé con GNU sed versión 4.7 y no es necesario, el ejemplo anterior funciona, pero también espera una i minúscula como el parámetro "en su lugar".