gpt4 book ai didi

regex - 提取下划线和点之间的字符串

转载 作者:行者123 更新时间:2023-12-05 09:28:26 25 4
gpt4 key购买 nike

我有这样的字符串:

/my/directory/file1_AAA_123_k.txt 
/my/directory/file2_CCC.txt
/my/directory/file2_KK_45.txt

所以基本上,下划线的数量是不固定的。我想提取第一个下划线和点之间的字符串。所以输出应该是这样的:

AAA_123_k
CCC
KK_45

我发现这个解决方案有效:

string='/my/directory/file1_AAA_123_k.txt'
tmp="${string%.*}"
echo $tmp | sed 's/^[^_:]*[_:]//'

但我想知道是否有更“优雅”的解决方案(例如 1 行代码)。

最佳答案

使用 bash 版本 >= 3.0 和正则表达式:

[[ "$string" =~ _(.+)\. ]] && echo "${BASH_REMATCH[1]}"

关于regex - 提取下划线和点之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71300866/

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