2011-12-08 13 views
3

母音で始まる印刷語だけを印刷するには、このsedをどうやって逆転させますか?私は入れてみました!下のsedコマンドでは動作しません - 私はそれが上記の規則を逆転すると思ったのですか?sed - 母音だけで始まる単語を印刷する

あなたが ^なく !を使用する必要が
echo "Always take a Big Apple " | sed -r 's/\b[AEIOUaeiou]\w*//g' 
+0

関連:[sedの - 母音と単語のみを削除](http://stackoverflow.com/questions/8429049/sed-delete-only-words-with-vowels) – razlebe

答えて

5

$ echo "Always take a Big Apple " | sed -r 's/\b[^AEIOU ]\w*//ig' 
Always a Apple 
+2

+1改訂版を提供するためそれは 'a'にもマッチします。 – razlebe

+0

お礼ありがとうございます - これは私が意図したものです - どうしてあなたは[^ AEIOU]にUとの間にスペースを残さなければならないのですか? – frodo

1

あなたは文字クラスを否定するために探している文字が^、ない!次のとおりです。ただし

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

あなたの正規表現はaa Big Appleと一致しないことに注意してくださいあなたが意図した?

2
sed -r 's/\b[^AEIOUaeiou[:space:]]\w*\b//g' 
+0

マイケルに感謝しますが、どうしてなぜスペースに入れなければならないのですか? – frodo

+0

2つの境界線があるため、単語を開始する境界と終了する境界があります。 –

関連する問題