Estoy usando este comando:
awk 'NR>1 {print $1" "$2}' fort.75 > newfort.75
y obteniendo la salida como
7 -2.2964292555E+000
8 -2.3013363831E+000
9 -2.3071951989E+000
10 -2.3136811351E+000
11 -2.3207311925E+000
Pero la operación deseada es
7 -2.2964292555E+000
8 -2.3013363831E+000
9 -2.3071951989E+000
10 -2.3136811351E+000
11 -2.3207311925E+000
Los valores del primer campo deben tener el mismo formato para que todos tengan el mismo ancho. Además, el segundo campo debe comenzar en la misma columna en cada línea.
Respuesta1
Posiblemente quiera decir que le gustaría generar resultados en columnas (aunque en su ejemplo los datos también difieren). Si es así, prueba esto:
awk 'NR>1 {print $1 "\t" $2}' fort.75 > newfort.75
Eso separaría su salida por un carácter TAB \t
.
Otra posibilidad es utilizar printf
como sugiere Archemar:
awk 'NR>1 {printf("%4i %f\n",$1,$2);}' fort.75 > newfort.75
donde la primera columna tiene el formato (en este caso) de 4 caracteres de ancho; ajústela como desee. El espacio se llena con el espacio " " (sin juego de palabras) y no se utiliza TAB. Sin embargo, los números de coma flotante también se reformatean, así que compruebe si le parece bien. De lo contrario, trate la segunda columna como una cadena:
awk 'NR>1 {printf("%4i %s\n",$1,$2);}' fort.75 > newfort.75