Organice los datos de entrada como una configuración 3D

Mis datos de entrada de "file.txt" son los siguientes (muestra de extracto):

245.214
188.936
195.758
194.939
194.242
188.936
  ...

Sin embargo, el software que uso requiere que los datos se organicen como una configuración 3D

245.214 188.936 195.758
194.939 194.242 188.936
....

¿Cuál sería la forma más fácil de convertir los datos de entrada? Yo uso UbuntuLinux.

preguntado el 22 de mayo de 12 a las 12:05

Yo llamaría a eso "2D". O en filas de 3 columnas. -

4 Respuestas

Puede utilizar el visión de conjunto mando:

cat file.txt | column -c 28 -s "\ "

contestado el 22 de mayo de 12 a las 12:05

Puedo obtener la salida requerida con este código

awk '{if(NR%3 == 0){printf("%s\n",$0);}else{printf("%s ",$0);}}' ip_file.txt

contestado el 22 de mayo de 12 a las 12:05

Sí... podría haber usado el awk con el archivo directamente. - Raghuram

@Raghuram ¿Por qué no actualizar su comando y luego prescindir de él? cat y presente una solución más ordenada, sea útil para aquellos un poco menos versados ​​​​con Unix/Linux (solo una sugerencia amistosa) - Levon

$ xargs -n3 < file.txt mycommand

o, si lo necesita en otro archivo de texto:

$ xargs -n3 < file.txt > foo.txt

contestado el 22 de mayo de 12 a las 12:05

Usando pure Bash:

printf '%7.3f %7.3f %7.3f\n' $(<file.txt)

contestado el 22 de mayo de 12 a las 15:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.