2016-01-25 75 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 

問候。

相關問題