31 votos

Anteponer ## a cada línea en un archivo de texto

Quiero agregar hash a todas las líneas en un archivo de texto normal. Estoy bien tanto con el uso de la terminal como con la GUI, solo necesito hacerlo.

53voto

Dog Ears Puntos 119

Puede usar sed para hacer eso:

 sed -i.bak 's/^/##/' file

Esto reemplaza el inicio de la línea ( ^ ) con ## .

Con el conmutador -i.bak sed edita el archivo en el lugar, pero crea una copia de seguridad con la extensión .bak .

8voto

Laurent Puntos 2343

Aquí hay una solución a este problema usando perl

 perl -e 'while (<>) {print "##$_"}' < infile > outfile

7voto

muru Puntos 43315

Mientras estamos en eso:

 gawk -i inplace '{print "##"$0}' infile

Esto utiliza el complemento de edición in situ (relativamente nuevo) para GNU awk 4.1.0+.

4voto

fkraiem Puntos 1518

sed -i no es el estándar POSIX, por lo que si eres un purista, querrás usar ed :

 printf ",s/^/##/\nw\nq" | ed -s file.txt

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: