在yq 4.11.2中,如果我这样做:
echo '---nfoo: foon---nfoo: foon' | yq eval '.foo' -
我得到这个:
foo
---
foo
只使用yq(而不是grep, awk等),我如何删除---
来得到这个?
foo
foo
您的echo
调用有一个问题,默认情况下它不会展开文字换行字符,除非您在bash/zsh
echo -e
或启用xpg_echo
shell选项。mikefarah/yq实现有一个模式-N
,它打印不带文档分隔符的过滤器输出,参见yq --help
在4.13.3版本上测试时
echo -e '---nfoo: foon---nfoo: foon' | yq -N e '.foo' -
foo
foo