每个人,我都创建了一个脚本,用于获取两个不同时期值之间的时差。
目前我的脚本读取了两个名为a和b的值,并给出了时间输出的不同,如下所示,
输入:
Enter the TIME A
12345567787
Enter the TIME B
12356777897
输出:
-00.36 hours
如何从名为time.txt的单个文本文件中读取A和B值,并将不同输出的时间保存到另一个文件“timediff.txt”。
我的输入文件“time.txt”如何显示。
A B
123456789 123456755
123445567 123434657
128765809 141536478
127576589 163636376
125364758 132653758
. .
. .
. .
n n
我期望输出文件timediff.txt看起来像,
A B output
123456789 123456755 03.00
123445567 123434657 09.00
128765809 141536478 04:44
127576589 163636376 08:22
125364758 132653758 05:13
. . .
. . .
. . .
n n n
答案 0 :(得分:1)
使用while
内置read
的循环。将输入从输入文件重定向,并将输出重定向到输出文件。
while read a b
do
# your code here
done < time.txt > timediff.txt
答案 1 :(得分:0)
如果你的脚本不那么冗长并且从参数中获取操作数而不是从stdin中读取它们会更加清晰,但是(假设你的提示是stderr)你可以这样做:
while read a b; do
printf "$a\t$b\t%s\n" "$(printf "$a\n$b\n" | myscript)"
done < time.txt > timediff.txt
如果您的提示与您的ouptut混合在一起,我强烈建议您更改脚本(上面方便地称为myscript
),以便更合理地使用。