filename
次のファイルの最後の列と最初の列を抽出したいと思います。これを。
0.400 1.0 1.0 3.0 0.0 1.00 2.0 5.0 1.0 1.00 0.0 0.0 gs100_bs050_rcrs100_rarcinf_core_0400mpc3_df B 0.400 1.0 1.0 3.0 0.0 0.25 2.0 5.0 1.0 0.25 0.0 1.0 gs100_bs050_rcrs025_rarc100_core_0400mpc3_df C 0.03021516 4.0 1.0 4.0 0.0 1.75 2.0 5.0 1.0 1.75 -0.5 -0.5 data_c_rh4_rs175_gs10_ra0_b05n_10k
awk '{print $NF, " ", $1}' filename
得ることを期待しながら努力しました。
gs100_bs050_rcrs100_rarcinf_core_0400mpc3_df A gs100_bs050_rcrs025_rarc100_core_0400mpc3_dfB data_c_rh4_rs175_gs10_ra0_b05n_10kC
しかし、私は得た。
A0_bs050_rcrs100_rarcinf_core_0400mpc3_df B0_bs050_rcrs025_rarc100_core_0400mpc3_df C_c_rh4_rs175_gs10_ra0_b05n_10k
Mac(gawk v 5.0.0
)とLinux / Ubuntuでも同じで、各行の先頭(mawk 1.3.3
)には3つの余分なスペースがあります。私も試してみたawk '{printf("%s %s\n", $NF, $1)}' filename
が得た
A100_bs050_rcrs100_rarcinf_core_0400mpc3_df B100_bs050_rcrs025_rarc100_core_0400mpc3_df Cta_c_rh4_rs175_gs10_ra0_b05n_10k
Macで。最後の列の最長文字列は45文字です。だから私は試しましたが、
awk '{printf("%-50s %s\n", $NF, $1)}' filename
これが返されました。
As050_rcrs100_rarcinf_core_0400mpc3_df Bs050_rcrs025_rarc100_core_0400mpc3_df Cgs10_ra0_b05n_10k
私の例は、awkのフィールドあたり1024文字と100のフィールド制限に準拠しています。これがバグでしょうかawk
?