具有10列的行将被修改为具有3列的行

mad*_*ist 1 regex perl awk sed pattern-matching

我有一个巨大的数据文件,每行包含10列.必须重新排列,使其每行包含3列.sed或awk或perl可以为我做这个吗?例如,以下行

 -6.222  -5.809  43.663   3.778  -5.809  43.663   7.784   5.483 -14.013   6.873
  5.197 -13.865   5.648  -0.107 -14.156   5.485  -1.058 -14.103  -0.809   7.565
-11.708  -1.157   6.740 -11.343  -0.687  -7.913 -15.833  -0.823  -8.865 -15.733
Run Code Online (Sandbox Code Playgroud)

必须成为

 -6.222  -5.809  43.663 
  3.778  -5.809  43.663 
  7.784   5.483 -14.013 
  6.873   5.197 -13.865 
  5.648  -0.107 -14.156
  5.485  -1.058 -14.103
 -0.809   7.565 -11.708
 -1.157   6.740 -11.343
 -0.687  -7.913 -15.833
 -0.823  -8.865 -15.733
Run Code Online (Sandbox Code Playgroud)

我感谢您的帮助.谢谢!

jay*_*ngh 5

使用命令行实用程序tr和备用解决方案fold

$ tr '\n' ' ' < file | fold -w24
 -6.222  -5.809  43.663
  3.778  -5.809  43.663
  7.784   5.483 -14.013
  6.873   5.197 -13.865
  5.648  -0.107 -14.156
  5.485  -1.058 -14.103
 -0.809   7.565 -11.708
 -1.157   6.740 -11.343
 -0.687  -7.913 -15.833
 -0.823  -8.865 -15.733
Run Code Online (Sandbox Code Playgroud)

用空格替换换行符是为了保留格式.