在bash

时间:2016-08-25 15:50:17

标签: bash shell

使用命令组合,我从文本文件(例如file1.txt)中提取出以下行并将其存储在另一个文件中,比如说opfile.txt

opfile.txt

1%
12 of 1G
200 of 2G

现在,假设file1值已更新,下次运行命令时,我会得到值

2%
10 of 1G
100 of 1G

现在,我希望输出作为逗号分隔值附加在我的opfile.txt的每一行上,如此。

opfile.txt

1%,2%
12 of 1G,10 of 1G
200 of 2G,100 of 1G

我究竟如何追加它?

要将第一个输出输出到opfile.txt,我使用命令

 grep "#0" TestOutput | cut -f 4,5,6 | tr '\t' "\n " > opfile.txt

最初将数据输入opfile.txt。

现在,为了得到第二组数据,我使用这个命令

grep "#0" TestOutput | cut -f 4,5,6 | awk '{print ","$1}{print ","$2" "$3" "$4}{print ","$5" "$6" "$7}'

这给了我以下

,7.1%
,230.9M of 1G
,700.3M of 2G

只需使用>>将它附加到opfile.txt是给我所有不同行的输出。

如何将它们放在同一条线上?

1 个答案:

答案 0 :(得分:2)

您可以使用paste命令:

paste -d, opfile.txt <(your_command)

1%,2%
12 of 1G,10 of 1G
200 of 2G,100 of 1G

your_command是你的命令产生第二个输出。