Shell sciptで複数行の表形式を印刷したいです。

Shell sciptで複数行の表形式を印刷したいです。

sedまたは、同じツールを使用してテーブル形式で入力を印刷したいですawk

入力する:

Line1
Line2
Line3
Line4
Line5
Line6
Line7
Line8

希望の出力:

Line1 Line2 Line3 Line4 
Line5 Line6 Line7 Line8

ベストアンサー1

グループを区切る空白行がない場合は、4行のグループを印刷します。

$ awk '{a=a (length(a)?OFS:"") $0} NR>1 && NR%4==0{print a; a=""}' file
Line1 Line2 Line3 Line4
Line5 Line6 Line7 Line8

印刷する行グループを区切る空白行がある場合(例:以前の改訂版)、それから:

$ cat file
Line1
Line2
Line3
Line4

Line5
Line6
Line7
Line8
$ awk '{a=a (length(a)?OFS:"") $0} !length($0){print a; a=""} END{print a}' file
Line1 Line2 Line3 Line4 
Line5 Line6 Line7 Line8

おすすめ記事