检查结果是否为空字符串

dventi3

我有一个使用jq命令创建的JSON文件该文件是这样的:

[
  {
    "description": "",
    "app": "hello-test-app"
  },
  {
    "description": "",
    "app": "hello-world-app"
  }
]

我想有一个简单的if / else条件来检查描述是否为空。我尝试了不同的方法,但是都没有用!我试过了:

jq -c '.[]' input.json | while read i; do
description=$(echo $i | jq '.description')
if [[ "$description" == "" ]];
then
  echo "$description is empty"
fi
done

并且具有相同的代码,但是如果/否则;

if [[ -z "$description" ]];
then
  echo "$description is empty"
fi

有人能帮我吗?

小次郎

jq支持条件无需将其恢复为bash(尚未):

< foo jq -r '.[] | if .description == ""
                   then "description is empty"
                   else .description end'
description is empty
description is empty

如果您坚持用管道传输回bash,这是正在发生的事情:

jq -c '.[]' foo | while read i; do description=$(echo $i | jq '.description')
printf '%s\n' "$description"
done
""
""

你可以在这里看到的扩张$description不是空的每次实际上都是一对引号。

在这里使用bash进行管道处理存在几个问题-的无引号扩展$i,复制为jq引号并将其转换为两种不同编程语言之间的空字符串。但是我想简单的答案是“只是测试是否"$description"扩展为一对引号。”

在bash中测试报价意味着引用您的报价:

if [[ $description = '""' ]]; then
    echo '$description expands to a pair of quotes'
fi

我认为,更好的答案是将工作保留在jq中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查结果是否为空字符串

来自分类Dev

Elm测试:如何检查结果是否为Err?

来自分类Dev

检查结果是否唯一

来自分类Dev

MySQL检查结果是否正确

来自分类Dev

检查是否为StringBuilder()AppendLine()为空字符串

来自分类Dev

检查空字符串是否为null?

来自分类Dev

如何检查列表是否为空字符串

来自分类Dev

C#Linq查询组通过检查结果是否为空

来自分类Dev

如何在Python中检查结果是否为整数?

来自分类Dev

Ruby,MySQL2:检查结果是否为空

来自分类Dev

检查结果是否来自SQL中的特定表

来自分类Dev

离子警报-检查结果是否不确定

来自分类Dev

SQL:检查结果是否是每个ID的数字

来自分类Dev

PHP:检查变量是否为字符串类型并且不是空字符串?

来自分类Dev

PHP:检查变量是否为字符串类型并且不是空字符串?

来自分类Dev

ImmNotifyIME()是否为空字符串?

来自分类Dev

PDO,检查是否为空字符串,如果为空则不更新

来自分类Dev

PDO,检查是否为空字符串,如果为空则不更新

来自分类Dev

如何检查结果是倍数(python)?

来自分类Dev

为什么当我使用计数结果是空字符串?

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

在Where子句中添加检查Parameter是否为空字符串

来自分类Dev

如何检查Django表单数据是否为None,''(空字符串)或False

来自分类Dev

在Swift中检查nil参数以及该参数是否为空字符串

来自分类Dev

如何检查单词中的空字符串是否在python中评估为true?

来自分类Dev

检查自定义对象 ArrayList 的属性是否为空字符串?

来自分类Dev

如何检查结果是否包含行?(FbDataReader.HasRows始终返回true!)

来自分类Dev

如何检查结束的字符串是否具有“ \ r \ n”

来自分类Dev

仅在预检查为空字符串时串联C#字符串

Related 相关文章

  1. 1

    检查结果是否为空字符串

  2. 2

    Elm测试:如何检查结果是否为Err?

  3. 3

    检查结果是否唯一

  4. 4

    MySQL检查结果是否正确

  5. 5

    检查是否为StringBuilder()AppendLine()为空字符串

  6. 6

    检查空字符串是否为null?

  7. 7

    如何检查列表是否为空字符串

  8. 8

    C#Linq查询组通过检查结果是否为空

  9. 9

    如何在Python中检查结果是否为整数?

  10. 10

    Ruby,MySQL2:检查结果是否为空

  11. 11

    检查结果是否来自SQL中的特定表

  12. 12

    离子警报-检查结果是否不确定

  13. 13

    SQL:检查结果是否是每个ID的数字

  14. 14

    PHP:检查变量是否为字符串类型并且不是空字符串?

  15. 15

    PHP:检查变量是否为字符串类型并且不是空字符串?

  16. 16

    ImmNotifyIME()是否为空字符串?

  17. 17

    PDO,检查是否为空字符串,如果为空则不更新

  18. 18

    PDO,检查是否为空字符串,如果为空则不更新

  19. 19

    如何检查结果是倍数(python)?

  20. 20

    为什么当我使用计数结果是空字符串?

  21. 21

    如何检查单词中的空字符串是否在python中评估为true?

  22. 22

    在Where子句中添加检查Parameter是否为空字符串

  23. 23

    如何检查Django表单数据是否为None,''(空字符串)或False

  24. 24

    在Swift中检查nil参数以及该参数是否为空字符串

  25. 25

    如何检查单词中的空字符串是否在python中评估为true?

  26. 26

    检查自定义对象 ArrayList 的属性是否为空字符串?

  27. 27

    如何检查结果是否包含行?(FbDataReader.HasRows始终返回true!)

  28. 28

    如何检查结束的字符串是否具有“ \ r \ n”

  29. 29

    仅在预检查为空字符串时串联C#字符串

热门标签

归档