你如何反转这个sed只打印用元音开头的打印单词?我试过投入!在下面的sed命令但它不起作用 - 我认为这只会颠倒上面的规则?
echo "Always take a Big Apple " | sed -r 's/\b[AEIOUaeiou]\w*//g'
答案 0 :(得分:5)
您需要使用^
而不是!
:
$ echo "Always take a Big Apple " | sed -r 's/\b[^AEIOU ]\w*//ig'
Always a Apple
答案 1 :(得分:2)
sed -r 's/\b[^AEIOUaeiou[:space:]]\w*\b//g'
答案 2 :(得分:1)
您正在寻找否定字符类的字符是^
,而不是!
:
echo "Always take a Big Apple " | sed -r 's/\b[^AEIOUaeiou]\w*//g'
但请注意,您的正则表达式与a
中的a Big Apple
不匹配 - 这是您的意图吗?