首页 > 解决方案 > 以两个单词为一组剪切文本

问题描述

我曾经jq从 JSON 文件中提取值我将变量中的值存储为字符串

var=$(Jq-command)
# var now contain
# "Serge" "Haroche" "David J." "Wineland"

我想要一个脚本每隔两个单词拆分这个字符串并创建新行,所以我不能作为输出

output:
Serge Haroche
David J Wineland

我有点新,我对 awk/sed 不太满意,而且我不能使用 cut。

标签: bashshellcommand-line

解决方案


试试这个 sed 脚本

var='"Serge" "Haroche" "David J." "Wineland"'
echo $var|sed -n 's/"\([^"]\+\)" "\([^"]\+\)" */\1 \2\n/gp'

输出

Serge Haroche
David J. Wineland

删除最后一个\n

echo -n $var|sed -n 's/"\([^"]\+\)" "\([^"]\+\)" */\1 \2\n/gp'

推荐阅读