Linux BashScript来组织给定的txt文件

Linux BashScript来组织给定的txt文件,linux,bash,Linux,Bash,我有一个txt文件的单列,我想分为多个列和标签他们 我已经尝试了我所知道的,但分工不是我想要的 我有一个ivmeasurementff.txt,其中包含: 24.000000 0.003207 0.000002 25 0.003435 0.000002 26 0.003991 0.000002 27 0.003207 0.000002 28 0.003232 0.000002 29 0.003283 这段代码只是将列一分为二 预期产出: 实际体积T体积电流 24.000000 0.0032

我有一个txt文件的单列,我想分为多个列和标签他们

我已经尝试了我所知道的,但分工不是我想要的

我有一个ivmeasurementff.txt,其中包含:

24.000000
0.003207
0.000002
25
0.003435
0.000002
26
0.003991
0.000002
27
0.003207
0.000002
28
0.003232
0.000002
29
0.003283
这段代码只是将列一分为二

预期产出:

实际体积T体积电流
24.000000   0.003207   0.000002
25.000000   0.003435   0.000002
26.000000   0.003991   0.000002
实际产量:

24.0000000.003435
0.003207    0.000002
0.000002    26.000000
25.000000   0.003991

只需添加选项
-a
,并指定三列即可

$ pr -ats" " --columns 3 ivmeasurementff.txt
24.000000 0.003207 0.000002
25.000000 0.003435 0.000002
26.000000 0.003991 0.000002
27.000000 0.003207 0.000002
28.000000 0.003232 0.000002
29.000000 0.003283

我不知道为什么会这样。似乎在某些情况下,
pr
将列视为行?

只需添加选项
-a
并指定三列即可

$ pr -ats" " --columns 3 ivmeasurementff.txt
24.000000 0.003207 0.000002
25.000000 0.003435 0.000002
26.000000 0.003991 0.000002
27.000000 0.003207 0.000002
28.000000 0.003232 0.000002
29.000000 0.003283

我不知道为什么会这样。似乎在某些情况下,
pr
将列视为行?

使用
xargs的简单解决方案:

xargs -n 3 < Input-file
perl解决方案:

perl -pe 's{\n$}{ } if $. % 3'   Input_file

使用
xargs
的简单解决方案:

xargs -n 3 < Input-file
perl解决方案:

perl -pe 's{\n$}{ } if $. % 3'   Input_file

您可以使用
paste
将其格式化为3列:

paste - - - < ivmeasurementff.txt
粘贴--
由于没有标题,您必须手动添加它:

echo "Actual Vol\tT Vol\tCurrent"; paste - - - < ivmeasurementff.txt
echo“实际音量\tT音量\t当前”;粘贴--
您可以使用
粘贴
将其格式化为3列:

paste - - - < ivmeasurementff.txt
粘贴--
由于没有标题,您必须手动添加它:

echo "Actual Vol\tT Vol\tCurrent"; paste - - - < ivmeasurementff.txt
echo“实际音量\tT音量\t当前”;粘贴--
看一看

在21.15.3中,建议使用-l选项

pr -ts" " -l1 -3   ivmeasurementff.txt
24.000000 0.003207 0.000002
25.000000 0.003435 0.000002
26.000000 0.003991 0.000002
27.000000 0.003207 0.000002
28.000000 0.003232 0.000002
29.000000 0.003283
引述:

21.15.3。跨列的订单行:-l

是否要跨列排列数据,以便前三行在每列的顶部打印,后三行在每列的第二行,依此类推

 % pr -l1 -t -3 file1 
Line 1 here Line 2 here Line 3 here
Line 4 here Line 5 here Line 6 here
Line 7 here Line 8 here Line 9 here 
... ... ...
使用-l1(页长1行)和-t(无标题)选项。每个“页面”将由三行(或您设置的列数)填充。你必须使用-t;否则,pr将自动忽略没有为页眉和页脚留出空间的任何页面长度。如果希望数据列中没有标题,这正是您想要的

看一看

在21.15.3中,建议使用-l选项

pr -ts" " -l1 -3   ivmeasurementff.txt
24.000000 0.003207 0.000002
25.000000 0.003435 0.000002
26.000000 0.003991 0.000002
27.000000 0.003207 0.000002
28.000000 0.003232 0.000002
29.000000 0.003283
引述:

21.15.3。跨列的订单行:-l

是否要跨列排列数据,以便前三行在每列的顶部打印,后三行在每列的第二行,依此类推

 % pr -l1 -t -3 file1 
Line 1 here Line 2 here Line 3 here
Line 4 here Line 5 here Line 6 here
Line 7 here Line 8 here Line 9 here 
... ... ...

使用-l1(页长1行)和-t(无标题)选项。每个“页面”将由三行(或您设置的列数)填充。你必须使用-t;否则,pr将自动忽略没有为页眉和页脚留出空间的任何页面长度。如果希望数据列中没有标题,这正是您想要的

你应该显示脚本。另请参见。您应该显示脚本。另见。