gpt4 book ai didi

regex - 如何从bash中一行上的两个分隔符之间提取文本?

转载 作者:行者123 更新时间:2023-12-04 06:55:37 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





How to extract characters between the delimiters using sed?

(2 个回答)


7 个月前关闭。




什么是正则表达式,我可以用 bash 编写来解析一行并提取可以在两个之间找到的文本 | (例如:1: |hey| 2: |boy|)并将这些单词保存在某种数组中?

最佳答案

不需要复杂的正则表达式。在“|”上拆分,然后每个第二个元素都是您想要的

#!/bin/bash
declare -a array
s="|hey| 2: |boy|"
IFS="|"
set -- $s
array=($@)
for((i=1;i<=${#array[@]};i+=2))
do
echo ${array[$i]}
done

输出
$ ./shell.sh
hey
boy

使用 awk
$ echo s="|hey| 2: |boy|" |  awk -F"|" '{for(i=2;i<=NF;i+=2)print $i}'
hey
boy

关于regex - 如何从bash中一行上的两个分隔符之间提取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2603661/

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