我正在尝试删除所有以元音开头的单词,如下所示。我所拥有的sed命令只删除第一个单词,如果它有元音,而不是任何其他单词。我认为下面的边界标记并使用g
将捕获所有单词,但它没有这样做。如何通过元音获得所有单词?
echo "Always take a Big Apple " | sed -r 's/\b^[AEIOUaeiou]\w*//g'
答案 0 :(得分:5)
删除^
sed -r 's/\b[AEIOUaeiou]\w*//g'
你不需要将它锚定到行的开头,足以让你请求它在单词边界上。
答案 1 :(得分:1)
echo "Always take a Big Apple " | sed -r 's/\b[AEIOUaeiou]\w*//g'
答案 2 :(得分:1)
这个GNU sed解决方案可能适合您:
echo "Always take a Big Apple " | sed 's/\<[aeiou]\w*//Ig'