gpt4 book ai didi

linux - bash(可能可以使用 perl/python): filter space delimited arg list through regexes

转载 作者:IT王子 更新时间:2023-10-29 01:27:07 25 4
gpt4 key购买 nike

我有一组正则表达式,应该针对空格分隔列表中的每个项目进行测试。

我希望这些项目能够在其中包含将被转义的空格。所以:

abc def\ ghi jkl abc

由 4 项组成,abcdef ghijklabc

如果我的正则表达式集是

b
k$
^g

输出应该是

abc abc

似乎 grep -f 可以让我完成大部分工作,但我必须处理一种处理转义空格的方法,所以我不能只执行 tr 从空格到换行符。

编辑:我认为我可以只使用 sed 将常规空格替换为换行符的转义空间感知。 tr 在从换行符返回的路上就足够了。想知道是否有人有更好的想法。

最佳答案

我认为它可以在 bash 本身中处理而无需任何外部实用程序。

首先把你的字符串放在一个数组中:

input=(abc 'def ghi' jkl abc)

然后运行此 for 循环以根据提供的正则表达式验证您的输入:

for i in "${input[@]}"; do
for r in 'b' 'k$' '^g'; do
[[ "$i" =~ $r ]] && echo $i && break
done
done

输出:

abc
abc

关于linux - bash(可能可以使用 perl/python): filter space delimited arg list through regexes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17253294/

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