alpine shell grep 正则表达式到列表中

问题描述 投票:0回答:1

我的文件中有以下文本:

value={VARIABLE_NAME_A}
。文件中可能有 20 多个这样的
VARIABLE_NAME_A, B, C, etc

我正在尝试使用shell脚本(不是bash,因为它是alpine,而且我没有安装bash)来使用

grep
将所有这些
VARIABLE_NAME_A, B, C
列出到变量中,然后将它们放入列表项中进行迭代之后就超过他们了。

但是,根据我对正则表达式的理解,这种格式应该有效..

"{[A-Z]\w+}"
。但是
grep "{[A-Z]\w+}" filename.txt
没有结果..

不确定我在这里做错了什么?

shell grep sh
1个回答
1
投票

为了可移植性,您可能应该使用 sed 而不是 grep,例如使用任何 POSIX sed:

sed -n 's/.*{\([[:upper:]][[:alnum:]_]+\)}.*/\1/p' file

上面假设您的输入中每行只有一个

{VARIABLE}

© www.soinside.com 2019 - 2024. All rights reserved.