行に文字がある場合は、行を列に分割します。

行に文字がある場合は、行を列に分割します。

New Dataファイルにフレーズが見つかるたびに、新しい行を開始して行を列に分割したいと思います。

入力する

New Data
52.6114082616
41.8319773432
75.6986111112
74.6176129172
New Data
100.0
100.0
100.0
8.00000000003
99.7916666667
42.435664564566

出力

52.6114082616 41.8319773432 75.6986111112 74.6176129172
100.0 100.0 100.0 8.00000000003 99.7916666667 42.435664564566

私は前に試しましたxargs

awk '{print$1}' file.txt  | xargs -n2 echo

しかし、これには空行は含まれません。空行も必要です。

ベストアンサー1

awk代替区切り記号を提供するために使用されます。

awk '/^New Data/ {sep=ORS; next} {printf "%s", sep $0; sep=OFS} END{print ""}' file

レコードが正規表現と一致する場合は^New Data/newlinesepに変更され、そうでない場合は/spaceに変更されます。ORSsepOFS

おすすめ記事