我有一个已知的x.yml的良好配置。该配置由30行代码组成,其中只有8行未注释掉,其中两行未注释掉是完全空白的。
结果看起来像
这是的输出grep -v '#' /mnt/data/x.yml
node.name: 123
path.data: "/mnt/data/data"
pipeline.workers: 4
pipeline.batch.size: 250
http.port: 9600-9700
path.logs: "/mnt/data/logs"
或至少与之非常相似。
如果我使用该字符串进行故障排除,我将如何将该字符串与另一个x.yml的输出进行比较?
我会比较两个字符串吗?
if [ "$goodYML" = "$outputYML" ]; then
echo "equal"
else
echo "not equal"
fi
并将上面的整个字符串声明为变量,然后我如何将grep的输出设置为字符串?
您可以使用流程替换
diff <(grep -v '^#' /mnt/data/x.yml) <(grep -v '^#' /mnt/data/y.yml)
任何命令都可以放在<( YOUR COMMAND HERE )
编辑
由于您的文件不是本地的,您可以这样做:
diff <(grep -v '^#' /mnt/data/x.yml) <(ssh user@host grep -v '^#' /mnt/data/y.yml)
所有相关的细节都应该在问题中。