需要结合这两个命令

时间:2018-10-23 01:14:45

标签: bash

因此,我试图制作一个脚本来从回购文件中调用时间戳,以在环境之间进行比较,以查看它们是否在一定时间内已同步,这是我拥有的两个命令。

button_Click

这将提取我需要针对不同环境(测试,开发,生产)进行比较的文件。

现在我将如何“管道传输”或将这些文件输入此片段以比较时间戳

$echo;
for environment in dev test production; do
   echo "${environment}"
   ls -la /opt/maintenance/repos/epel/"${environment}"/*/x86_64/repodata/*filelists.sqlite.bz2
   echo -e '\n'
done

我本来是想将第一个命令的输出通过管道传输到数组上,然后才是第二个命令调用它的方式。我在想这件事吗?

1 个答案:

答案 0 :(得分:1)

其中包含大量猜测,但也许您正在寻找

stat -c '%Y %n' /opt/maintenance/repos/epel/{dev,test,production}/*/x86_64/repodata/*filelists.sqlite.bz2

输出应该易于传递给Awk来比较每行的第一个字段,并可能以某种人类可读的形式进行打印。如果您想将每个后续的对象与第一个进行比较,则可以使用管道

... | awk 'NR==1 { age=$1; next }
    { $1 = ($1-age) / 86400; print }'

括号扩展{dev,test,production}是一项Bash功能,不能移植到其他shell。您使用的stat选项也不是可移植的,因此无论如何您看起来都在Linux上。