Linux BashScript来组织给定的txt文件
我有一个txt文件的单列,我想分为多个列和标签他们 我已经尝试了我所知道的,但分工不是我想要的 我有一个ivmeasurementff.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
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将自动忽略没有为页眉和页脚留出空间的任何页面长度。如果希望数据列中没有标题,这正是您想要的 你应该显示脚本。另请参见。您应该显示脚本。另见。