避免使用临时文件进行pr

避免使用临时文件进行pr

我同时并排跟踪两个文件,我无法获得不使用临时文件F1.tmpF2.tmp.我想用 watch 来调用这个脚本。

很确定我遗漏了一些有关命令扩展和管道输出的内容。

FNAME1="$(ls -t | grep '.out'|  head -n2 | sort | head -n1)"
FNAME2="$(ls -t | grep '.out'|  head -n2 | sort | tail -n1)"
KEY="TIME STEP ="
TS1=`grep "$KEY" "$FNAME1" | tail -n 3`
TF1=`tail -n40  "$FNAME1"`
F1="$FNAME1""$TS1""$TF1\n"

TS2=`grep "$KEY" "$FNAME2" | tail -n 3`
TF2=`tail -n40  "$FNAME2"`
F2="$FNAME2\n\n$TS2\n\n$TF2\n"
echo "$FNAME1" > F1.tmp
echo "$TS1" >> F1.tmp
echo "$TF1" >> F1.tmp
echo "$FNAME2" > F2.tmp
echo "$TS2" >> F2.tmp
echo "$TF2" >> F2.tmp
pr -m -W 144 F1.tmp F2.tmp




pr -m -W 144 <(echo "$TS1") <(echo "$TS2") 

不起作用

pr -m -W 144 <($TS1) <($TS2)

也没有。对于上下文,它用于监视 HPC 集群上运行的 CFD 输出文件。

下面的代码可以单独工作,但在使用 watch 调用时不起作用:

FNAME1="$(ls -t | grep '.out'|  head -n2 | sort | head -n1)"
FNAME2="$(ls -t | grep '.out'|  head -n2 | sort | tail -n1)"
KEY="TIME STEP ="
TS1=`grep "$KEY" "$FNAME1" | tail -n 3`
TF1=`tail -n40  "$FNAME1"`
F1="$FNAME1\n\n$TS1\n\n$TF1\n"

TS2=`grep "$KEY" "$FNAME2" | tail -n 3`
TF2=`tail -n40  "$FNAME2"`
F2="$FNAME2\n\n$TS2\n\n$TF2\n"
pr -m -W 144 <(printf "$F1") <(printf "$F2")

Seams 在 putty 上工作正常,juice ssh 会使你更改字体大小的格式变得混乱。

注意:我正在文件“$FNAME1”中搜索“$KEY”的出现。

相关内容