awk のフィールド数 (2)
続きです。
HP-UX は手元に確認できるものがない (出社すればあるのですが、アカウントがなかったはず) ので、適当に試してみます。
以下のようなファイル (fs_test2.txt) を用意します。
1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60
BEGIN { FS = "|"; OFS = "|"; } { print $1, $2, $3, $4, $5, $6, $7, $8, $9, $10,\ $11, $12, $13, $14, $15, $16, $17, $18, $19, $20,\ $21, $22, $23, $24, $25, $26, $27, $28, $29, $30,\ $31, $32, $33, $34, $35, $36, $37, $38, $39, $40,\ $41, $42, $43, $44, $45, $46, $47, $48, $49, $50,\ $51, $52, $53, $54, $55, $56, $57, $58, $59, $60; }
かなり強引なプログラムですが・・・。(^^;
$ gawk -f check_fs2.awk fs_test2.txt 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 $ nawk -f check_fs2.awk fs_test2.txt 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 $ mawk -f check_fs2.awk fs_test2.txt 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60 1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60
となり、Linux では問題なさそうです。
nawk があれば nawk を用いるのが良さそうです。
以前、HP-UX で awk スクリプトを作った時に何かに悩まされた記憶があるのですが、10 年以上前なので思い出せません。
Solaris の awk (broken awk) と同じような振る舞いだったかもしれません。