Ordenar los registros de un archivo

Buenos día Fragal:
Se trata de recorrer un archivo con columnas y convertirlos en otro archivo en que los registros estén uno a continuación del otro.
Ej:
fich1:
aaaa
bbbb
cccc
Quiero que quede:
aaaa bbbb cccc
Un saludo. Gracias

1 respuesta

Respuesta
1
Ya tenía yo hecho hace tiempo un script para esto:
#!/usr/bin/ksh
cp -p $1 $1.1
lineas=`wc -l $1.1 | tr -s " " | cut -f2 -d" "`
if [ $lineas -ne 1 ]
then
while [ $lineas -ne 1 ]
do
paste -s -d" \n" $1.1 | tr -s " " > $$_paste
mv $$_paste $1.1
lineas=`wc -l $1.1 | tr -s " " | cut -f2 -d" "`
Done
Fi
Si le llamas unir. Sh (y le das permisos de ejecución, claro!), deberás ejecutarlo con un parámetro posicional: el nombre del fichero cuyas líneas quieres convertir en una sola separando´las por un espacio en blanco. En tu ejemplo:
$ unir.sh fich1
La salida es el nombre de fichero de entrada acabado en .1 (en tu caso fich1.1) con lo que deseas.
La "gracia" está en usar el comando paste.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas