gpt4 book ai didi

bash - 如何使用 bash 命令剪切字符串

转载 作者:行者123 更新时间:2023-11-29 09:36:15 24 4
gpt4 key购买 nike

如何剪切以下字符串并在 Bash 中检索“未运行”状态。我试过剪切命令cut -d"STATUS",它抛出异常

例如:

$ echo "NAME(APACHE) STATUS(Not Running)

期望的字符串:

Not Running

最佳答案

使用bash,正则表达式运算符~

string="NAME(APACHE) STATUS(Not Running)"
[[ $string =~ ^.*STATUS\((.*)\)$ ]] && printf "%s\n" "${BASH_REMATCH[1]}"
Not Running

使用 Awk 作为 () 去限制器,

echo "NAME(APACHE) STATUS(Not Running)" | awk 'BEGIN{FS="[()]"}{print $4}'
Not Running

使用双重参数替换,因为 bash 不支持嵌套参数扩展,

temp1="${string#*)}"    
temp2="${temp1%*)}"
printf "%s\n" "${temp2#*STATUS(}"
Not Running

使用 GNU grep 及其 PCRE - Perl Compatible Regular Expressions功能,带有 -P 标志,

grep -oP '.*STATUS\(\K[^\)]+' <<<"$string"
Not Running

关于bash - 如何使用 bash 命令剪切字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42551518/

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