![一部の文字列が非常に長い(最大45文字)問題が発生していますか? [コピー]](https://linux33.com/image/179364/%E4%B8%80%E9%83%A8%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%8C%E9%9D%9E%E5%B8%B8%E3%81%AB%E9%95%B7%E3%81%84%EF%BC%88%E6%9C%80%E5%A4%A745%E6%96%87%E5%AD%97%EF%BC%89%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
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
?