在我的目录中找到最新的JSON文件并确认Mac终端的内容

问题描述 投票:0回答:1

我希望能够在目录中找到最新的.json文件,然后浏览该文件并在其中搜索"status": "PASSED"。这可以在Mac终端中进行吗?

到目前为止,我有以下内容:find data/results -type f -mmin -60 | grep '.json'

注意:此命令将始终仅输出一个JSON文件。

哪个将在我的终端上打印最新的.json文件的名称,但我不知道如何读取它。

谢谢您!

JSON文件看起来像:

[
    {
        ...,
        "fieldName": "Answer",
        "status": "PASSED",
        "otherFieldName": "OtherAnswer",
        ...
    }
]
macos terminal grep find readfile
1个回答
1
投票

要在目录中找到最新的json文件,您可以执行ls -t *.json | head -n1。您的命令(find … grep)与之类似,尽管如果日期接近,它可以输出多个文件。我建议的命令将总是只找到最新的。

当然要为通过状态将该文件grep表示为grep PASSED <file>

要结合终端设备的所有这些命令,有很多方法可以做到。一种选择是:

ls -t *.json | head -n1 | xargs grep PASSED

另一个选择是:

grep PASSED "$(ls -t *.json | head -n1)"

结果将相同。

我向您介绍的技术是“ xargs”,它接受输入行并将它们作为参数添加到命令的末尾,以及“命令替换”($()构造),以替换该命令的一部分,用于其中单独命令的结果。

© www.soinside.com 2019 - 2024. All rights reserved.