我在Mac上的iTerm中的两个终端上运行两个脚本。在一个终端上运行一系列测试,第二终端以连续的间隔连续打印温度。两个脚本之间没有同步。
Terminal1 Terminal2
Test1 50C
51C
52C
Test2 49C
53C
我想要做的是并排捕获这两个输出并将其保存到文件中。
输出可能如下所示:
Test1 50C
Test1 51C
Test1 52C
Test2 49C
Test2 53C
它不需要与上面完全相同的格式,但至少应该清楚,当测试运行时,那时的温度样本是什么。输出不必是实时输出。如果以后整理它也没关系。
答案 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
问候。