Regex sed-仅删除带有元音的单词

Regex sed-仅删除带有元音的单词,regex,bash,sed,substitution,Regex,Bash,Sed,Substitution,我正在尝试删除所有以元音开头的单词,如下所示。我使用的sed命令只是删除第一个有元音的单词,而不是其他任何单词。我认为下面的边界标记和使用g可以捕获所有单词,但它没有这样做。我怎样才能让所有单词都有元音呢 echo "Always take a Big Apple " | sed -r 's/\b^[AEIOUaeiou]\w*//g' 删除^ sed -r 's/\b[AEIOUaeiou]\w*//g' 您不需要将它锚定到行的开头,只要您请求它位于单词边界即可。此GNU-sed解决方案可

我正在尝试删除所有以元音开头的单词,如下所示。我使用的sed命令只是删除第一个有元音的单词,而不是其他任何单词。我认为下面的边界标记和使用
g
可以捕获所有单词,但它没有这样做。我怎样才能让所有单词都有元音呢

echo "Always take a Big Apple " | sed -r 's/\b^[AEIOUaeiou]\w*//g'
删除
^

sed -r 's/\b[AEIOUaeiou]\w*//g'

您不需要将它锚定到行的开头,只要您请求它位于单词边界即可。

此GNU-sed解决方案可能适合您:

echo "Always take a Big Apple " | sed -r 's/\b[AEIOUaeiou]\w*//g' 
echo "Always take a Big Apple " | sed 's/\<[aeiou]\w*//Ig'

echo“Always take a Big Apple”| sed的/\Thank Michael-我认为必须在^中以元音开头的所有单词-显然不是这样谢谢…你如何扭转这种局面,只打印以元音开头的单词呢?我已经试过了!但它不起作用,但我认为这会颠倒上面的规则?@frodo:
sed-r的/\b[^AEIOUaeiou]\w*//g'
相关: