gpt4 book ai didi

arrays - 如何在bash中使用特定单词将字符串拆分为数组

转载 作者:行者123 更新时间:2023-12-02 01:24:19 25 4
gpt4 key购买 nike

执行命令后我有一个字符串:

[username@hostname ~/script]$ gsql ls | grep "Graph graph_name"
- Graph graph_name(Vertice_1:v, Vertice_2:v, Vertice_3:v, Vertice_4:v, Edge_1:e, Edge_2:e, Edge_3:e, Edge_4:e, Edge_5:e)

那我就这么做 IFS=", " read -r -a vertices <<< "$(gsql use graph ifgl ls | grep "Graph ifgl(" | cut -d "(" -f2 | cut -d ")" -f1)"使字符串拆分并附加到数组。但是,我想要的是用分隔符“,”分割它,然后将每个包含“:v”的单词附加到一个数组中,包含“:e”的意思单词将被排除。

怎么做呢?不做循环

最佳答案

像这样,使用grep

mapfile -t array < <(gsql ls | grep "Graph graph_name" | grep -oP '\b\w+:v')

正则表达式匹配如下:

<表类=“s-表”><标题>节点解释 <正文> \b 单词字符 (\w) 和非单词字符之间的边界 \w+ 单词字符(a-z、A-Z、0-9、_)(1 次或多次(匹配尽可能多的数量)) :v ':v'

关于arrays - 如何在bash中使用特定单词将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75156422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com