sed - удаляйте только слова с гласными - PullRequest
2 голосов
/ 08 декабря 2011

Я пытаюсь удалить все слова, начинающиеся с гласной, как показано ниже. У меня есть команда sed, которая удаляет первое слово только в том случае, если оно имеет гласную, а не в других. Я думал, что маркер границы ниже и использование g захватит все слова, но это не так. Как мне получить все слова с гласными?

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

Ответы [ 3 ]

5 голосов
/ 08 декабря 2011

Удалить ^

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

вам не нужно привязывать его к началу строки, достаточно, чтобы запросить его на границе слова.

1 голос
/ 08 декабря 2011

Это решение GNU sed может работать для вас:

echo "Always take a Big Apple " | sed 's/\<[aeiou]\w*//Ig'
1 голос
/ 08 декабря 2011
echo "Always take a Big Apple " | sed -r 's/\b[AEIOUaeiou]\w*//g' 
...