Awk con ficheros

Buenas, soy muy novatillo en esto de hacer script, y ya no se ha que recurrir pues no me sale, lo que quiero es un script con un programa awk y un fichero temporal, donde pueda darle formato a un fichero de texto con cualquier formato. Y por ejemplo que las lineas de este último no supere los 70 caracteres.

1 Respuesta

Respuesta
1
Vamos a ver, para esto, puede que te sirva, en lugar del 'awk' dos comandos que hay en Unix:
1 - fold -20 texto.txt > texto20.txt
2 - fmt -w 30 texto.txt > texto30.txt
Puedes ver como funcionan ej.: man fmt
También le puedes dar un vistazo a otro comando el "dd"
Ok, pero lo que me gustaría es usar el awk, pues es con el que estoy practicando ahora, además que es para usarlo con todas las lineas del fichero.
El problema no es ser novatillo, nadie nace enseñado... el problema es querer hacer las cosas complicadas cuando se pueden hacer sencillas. Antes decían que los informáticos de sistemas decían :"porque hacerlo sencillo si lo podemos hacer complicado", tu debes ser de sistemas :-). Cuando llevas un tiempo en este mundo adoras la sencillez de las cosas y de las personas. Pero, esto pueda que te sirva :
#
# letra.sh Convierte un fichero con lineas de x caracteres
# a otro fichero con lineas de 'tope' caracteres
# ejecutar : $ cat texto.txt | awk -f letra.sh tope=31
# autor : ccc 12-IX-2003
#
BEGIN { FS = "" }
{
llarg = length($0)
for (i = 1; i <= llarg; i = i + 1)
{
lletra = sprintf substr($0,i,1)
resultat = resultat lletra
j++
if (j == tope)
{
print resultat
resultat = ""
j = 0
}
}
}
Se puede pulir, pero creo que para tus prácticas te puede servir,
Gracias tío!, por todo. La verdad es que se nota que sabes del mundillo, además de ser adivino, pues las clavado, soy de sistemas. Me das miedo por lo que puedas saber ya de mi.
Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas