macos - 在我的目录中找到最新的 JSON 文件并确认内容 Mac Terminal
问题描述
我希望能够.json
在我的目录中找到最新的文件,然后查看文件并"status": "PASSED"
在其中搜索。这可以在 Mac 终端内完成吗?
到目前为止,我有以下内容:
find data/results -type f -mmin -60 | grep '.json'
注意:此命令将始终只输出一个 JSON 文件。
这将在我的终端上打印最新.json
文件的名称,但我不知道如何阅读它。
先感谢您!
JSON 文件如下所示:
[
{
...,
"fieldName": "Answer",
"status": "PASSED",
"otherFieldName": "OtherAnswer",
...
}
]
解决方案
要在目录中查找最新的 json 文件,您可以执行ls -t *.json | head -n1
. 您的命令 (the find … grep
) 类似,但如果日期很接近,它可以输出多个文件。我建议的命令总是只会找到最新的。
要 grep 该文件以获取通过状态,您当然会这样做grep PASSED <file>
。
要组合这些命令,就像终端的所有东西一样,有很多方法可以做到这一点。一种选择是:
ls -t *.json | head -n1 | xargs grep PASSED
另一种选择是:
grep PASSED "$(ls -t *.json | head -n1)"
结果将是相同的。
我在这里向您介绍的技术是“xargs”,它接受输入行并将它们作为参数添加到命令的末尾,以及“命令替换”($()
构造),它将命令的那部分替换为其中一个单独命令的结果。
推荐阅读
- java - Gradle:我是否应该使用(JVM)依赖项的一致依赖项解析?
- javascript - TypeError: jwt(...).unless 在使用 Jest 进行模拟时不是函数
- python - 无法在整个测试数据集上使用 fast-bert sagemaker 模型执行批量推理
- php - composer require laravel/breeze --dev 的 php 版本有问题
- codeigniter - 如何在 codeigniter 中使用引导警报显示错误
- angular - NativeScript Paytm 集成在初始化交易时显示 404 错误
- r - Fontawesome 5.13.0 在 visNetwork 中不起作用
- c - 为什么make会执行我从未在makefile中写过的命令以及如何调试它?
- c# - [ApiController] 属性有什么作用?
- javascript - 如何在javascript中将对象转换为有效的css样式?