- ベストアンサー
Awkで固定行ずつ行列転置
A B C D E F G H . . . と、1列にデータが並んだテキストファイルの中身を A B C D E F G H ... のように4列ずつに区切って並べ替えるawkスクリプトを 書きたいのですが、どのように書けばいいでしょうか? もとのデータの行数は4の倍数とは限らないので、 並べ替え後の最後の行はフィールドが4つ未満になるかもしれません。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
{ record = record " " $0 } NR % 4 == 0 { output(record) record="" } END { output(record) } function output(r) { if (r) print substr(r, 2) } こんなんで。
お礼
うまくいきました!! functionを使ったことがなかったので、書いていただいたスクリプトを解釈するのに少々時間がかかり、お礼が遅れてしまいました。 ありがとうございました!