当前位置: 首页 > 面试题库 >

在同一行上打印多个值

刘选
2023-03-14
问题内容

我正在尝试解析JSON文档,并在同一行上打印几个值。有没有办法获取以下文件:

{
  "fmep": {
    "foo": 112,
    "bar": 234324,
    "cat": 21343423
  }
}

然后吐出来:

112 234324

我可以获得所需的值,但它们分别打印在不同的行上:

$ echo '{ "fmep": { "foo": 112, "bar": 234324, "cat": 21343423 } }' | jq '.fmep|.foo,.bar'

112  
234324

如果某处有一个示例说明如何执行此操作,那么我会感激任何提示。


问题答案:

您的示例中最简单的方法是将String
Interpolation
-r选项一起使用。例如

echo '{ "fmep": { "foo": 112, "bar": 234324, "cat": 21343423 } }' | \
jq -r '.fmep| "\(.foo) \(.bar)"'

产生

112 234324

您可能还需要考虑将值放入数组中并使用@tsv例如

echo '{ "fmep": { "foo": 112, "bar": 234324, "cat": 21343423 } }' | \
jq -r '.fmep | [.foo, .bar] | @tsv'

产生制表符分隔的

112 234324


 类似资料:
  • 问题内容: 我想运行一个脚本,该脚本基本上显示如下输出: 目前,我先打印,然后再打印。 不过,我现在想打印并在同一行。 有任何想法吗? 问题答案: 你可以使用该语句执行此操作,而无需导入。 该print行末尾的逗号阻止print发布新行(你应注意,输出末尾会有多余的空间)。 Python 3解决方案 由于以上内容在Python 3中不起作用,因此你可以改为这样做(同样,不导入): 打印功能接受默认

  • 问题内容: 标题怎么说。我有一个骰子程序,它会打印骰子IE 我希望能够打印多个骰子,所以它看起来像这样: 我已经尝试过了,但是仍然将它们打印在彼此下面。我当时也在考虑创建一个函数,该函数会打印每个对象的顶行,但是我不知道该怎么做。有任何想法吗? 问题答案: 这样就可以打印了。数字在1到6(含)之间随机分配。用作命令行参数的骰子数。因此,在我的情况下./roll 6会打印6个骰子,随机数最多为6。

  • 问题内容: 我正在尝试使用之间的计时器在同一行上打印两个字符串。这是代码: 但是似乎程序等待两秒钟,然后打印两个字符串。 问题答案: 在python 2.7中,您可以使用 将来的 包中的print_function 但是就像您说的那样,这将等待2秒钟,然后打印两个字符串。根据Gui Rava的回答,您可以刷新stdout,这是一个示例,可以使您朝正确的方向前进:

  • 问题内容: 我想将循环的输出打印到同一行的屏幕上。 如何以最简单的方式针对Python 3.x进行操作 我知道在Python 2.7的末尾使用逗号来问这个问题,即print I,但是我找不到Python 3.x的解决方案。 屏幕输出。 我要打印的是: 新读者也可以访问此链接http://docs.python.org/release/3.0.1/whatsnew/3.0.html 问题答案: 来自

  • 问题内容: 我有一个关于在Python 3中使用循环在同一行上打印的问题。我搜索了答案,但找不到任何相关内容。 所以,我有这样的事情: 当用户键入“短句”时,该功能应该对其进行处理,并应将其打印在同一行上。假设该函数在每个单词的末尾添加了“ t”,因此输出应为 但是,目前的输出是: 如何轻松在同一行上打印结果?还是我应该做一个新的字符串 它被迭代,最后我打印出来? 问题答案: 在函数中使用参数 还

  • 是否有一种方法可以只使用一条打印语句,但仍能达到与下面代码中相同的效果?我尝试了在这种情况下无法使用的结束语句,或者我使用了错误的结束语句: