Linux/Unix Shell Scripting - pregunta sobre awk

 
Vista:

pregunta sobre awk

Publicado por Lorena (5 intervenciones) el 05/03/2014 20:58:44
Hola. tengo un directorio y su respaldo. los cuales contienen varios archivos shell, estos comienzan en su primera linea con #!/usr/bin/bash, y esta linea quiero que sea reemplazada por #!/bin/bash. he utilizado el siguiente código.
Nota: se pretende que todo sea mediante un ciclo for para que en un solo proceso se ejecute el cambio

for a in $(ls ./shells/*.sh )
do
awk '{if (NR==1) printf("#!/bin/bash\n"); else printf("%s\n", $0) }' echo ./$a >./shells/$a
done

El directorio es shells.
Quisiera saber si mi codigo esta bien. Gracias Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

pregunta sobre awk

Publicado por Tom (361 intervenciones) el 06/03/2014 08:30:58
Pero y ¿ por qué no lo pruebas y ya sabes si está bien o no ?
De todos modos no me cansaré de decir que usar awk para esas cosas es un poco bestia.

1
2
3
4
5
for F in ./shells/*.sh
do
  sed -i 's/#!\/usr\/bin\/bash/#!\/bin\/bash' $F
done
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pregunta sobre awk

Publicado por Lorena (5 intervenciones) el 06/03/2014 16:50:29
Ya lo ejecuté, pero me muestra errores, así que usaré el código que me enviaste gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar