Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要更改bash脚本中文本文件的格式_Bash - Fatal编程技术网

需要更改bash脚本中文本文件的格式

需要更改bash脚本中文本文件的格式,bash,Bash,我有下面一个文本文件的输出。这是一个长文件,我只是在这里复制了一些行而已 HP83904B74E6 13569.06 7705.509999999999 HP4DC2EECAA8 4175.1 2604.13 我想把它打印如下 HP83904B74E6 13569.06 7705.509999999999 HP4DC2EECAA8 4175.1 2604.13 我尝试通过使用while循环实时读取文件行,并尝试存储变量的值,例如variablename

我有下面一个文本文件的输出。这是一个长文件,我只是在这里复制了一些行而已

HP83904B74E6
13569.06
7705.509999999999
HP4DC2EECAA8
4175.1
2604.13
我想把它打印如下

HP83904B74E6     13569.06      7705.509999999999
HP4DC2EECAA8     4175.1        2604.13
我尝试通过使用while循环实时读取文件行,并尝试存储变量的值,例如
variablename$I
,这样我可以像
variablename0
那样打印它,并且在每3行之后,我使用If语句打印variablename0 variablename1 variablename2的值,但对我不起作用。

使用
pr

$ pr -a3t tmp.txt
HP83904B74E6        13569.06        7705.509999999999
HP4DC2EECAA8        4175.1          2604.13

我尝试通过使用while循环实时读取文件行,并尝试存储变量的值,例如variablename$i,以便可以像variablename0一样打印它,并且在每3行之后使用If语句打印variablename0 variablename1 variablename2的值,但对我不起作用。我只是在学习bash


仅使用
paste
xargs
…您是否尝试过
awk
?我尝试过通过使用while循环实时读取文件行,并尝试存储变量的值,例如variablename$i,以便我可以像variablename0一样打印它,并且在每3行之后我使用If语句打印variablename0 variablename1的值variablename2,但对我不起作用。我只是在学习bash。嗨,切普纳,谢谢你宝贵的帮助,我从昨天开始尝试这个,在做了这么多的谷歌搜索之后,我在这里问了一个问题,它真的帮了我的忙。再次感谢。感谢何塞的投入。我也会尝试一下,让你知道结果。再次感谢
while read -r a; do  
    read -r b; 
    read -r c; 
    echo "$a $b $c"; 
done < file
HP83904B74E6 13569.06 7705.509999999999
HP4DC2EECAA8 4175.1 2604.13