bash - 以两个单词为一组剪切文本
问题描述
我曾经jq
从 JSON 文件中提取值我将变量中的值存储为字符串
var=$(Jq-command)
# var now contain
# "Serge" "Haroche" "David J." "Wineland"
我想要一个脚本每隔两个单词拆分这个字符串并创建新行,所以我不能作为输出
output:
Serge Haroche
David J Wineland
我有点新,我对 awk/sed 不太满意,而且我不能使用 cut。
解决方案
试试这个 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'
推荐阅读
- swift - 用CGEvent模拟CTRL+Space切换键盘输入出现显示键盘切换菜单
- python - 使用ubuntu的Python设置工具安装错误
- rx-java2 - rxjava2-jdbc:对 toIterable() 的迭代是阻塞的,线程 reactor-http-nio-2 不支持此功能
- vue.js - 在创建它的同一模块中使用 getter
- javascript - 如果单击按钮,下拉列表选项会更改(VueJS 和 Laravel 6)
- c# - DDD:一个存储库可以访问另一个存储库吗?
- angular - Angular - 导航时未定义的firebase用户ID,刷新后返回
- visual-studio-code - 是否有 vscode 启动完成事件或文件夹打开事件?
- html - onClick Google 脚本不适用于 HTML 表单
- python - 在 SQLAlchemy 中连接表的目的