2016-01-25 19 views
0

我在Mac上的iTerm的两个终端上运行两个脚本。在一个终端上进行一系列测试,第二个终端以重复的间隔连续打印温度。这两个脚本之间没有同步。在一个文件中将两个终端并排输出日志

Terminal1  Terminal2 
    Test1   50C 
        51C 
        52C 
    Test2   49C 
        53C 

我想要做的是将这两个输出并排捕捉并保存到一个文件中。

输出可以是这样的:

Test1   50C 
    Test1   51C 
    Test1   52C 
    Test2   49C 
    Test2   53C 

它不必是完全一样的格式同上,但至少应该明确的是,当测试正在运行,什么温度样品在那个时候。输出不需要是实时输出。如果稍后进行整理可以。

+0

http://stackoverflow.com/questions/1353253/linux-terminal-how-to-capture-or-watch-other-terminal-session – csharpfolk

+1

您是否需要输出这个输出或者您是否希望从日志事实后的文件? –

+0

我不需要现场直播。没关系,如果我以后有它。 –

回答

0

试试这个:

#!/bin/bash 

first=$1 
second=$2 

actual="" 
while IFS= read -r lineA && IFS= read -r lineB <&3; do 
    if [[ -z "${lineA// }" ]]; then 
     echo "$actual $lineB" 
    else 
     echo "$lineA $lineB" 
     actual=$lineA 
    fi 
done <$first 3<$second 

其中,$ 1和$ 2是通过参数传递的两个文件。

用法:

./join.sh first.txt second.txt 

问候。

相关问题