Я пытаюсь перечислить верхние или нижние гласные, и я не уверен, правильна ли остальная часть команды

#unix

#unix

Вопрос:

В Unix какую команду вы бы дали, чтобы перечислить все англоязычные слова длиной ровно 5 символов, начинающиеся с гласной в верхнем или нижнем регистре (‘a’, ‘e’, ‘i’, ‘o’, ‘u’ или ‘y’), имеютстрочная буква «t» в средней позиции и заканчивается строчной буквой «s’?

Я использовал эту команду

 grep '^[t].[AEIOUY].[aeiouy]..[s]

в нем говорится, что вам нужно перечислить Advent

Я также попробовал это

 grep '^[aeiouy].*[AEIOUY]|[AEIOUY].*[aeiouy].[t].s

ни один из них не работает, я не знаю, что не так в моем ответе


Комментарии:

1. Advent имеет длину 6 символов и не имеет t средней позиции. Зачем вам это в выводе?

2. Пожалуйста, опубликуйте некоторые примеры данных с соответствующими ожидаемыми результатами. Не публикуйте их в виде комментариев или изображений, а отредактируйте и включите их в свой первоначальный вопрос. Таким образом, ваш вопрос непонятен.

3. Похоже, что регулярное выражение, которое вы хотите, просто ^[AEIOUY].t.s$

4. Мне нужна гласная в верхнем или нижнем регистре

5. Это задание или тестовый вопрос для собеседования?

Ответ №1:

Вам нужно использовать -o переключатель grep команды:

 grep <some switches> "expression" "line" (without -o)
 

означает: покажите мне целые строки, содержащие выражение, в соответствии с упомянутыми переключателями.

 grep -o <some switches> "expression" "lines"
 

означает: покажите мне только выражения.

Ответ №2:

Со словарем, взятым из https://gist.githubusercontent.com/wchargin/8927565/raw/d9783627c731268fb2935a731a618aa8e95cf465/words

 grep -Eo '([[:space:]]|^)[aeiouyAEIOUY][A-Za-z][t][A-Za-z][s]([[:space:]]|$)' /usr/share/dicst/words

Estes
Oates
Yates
altos
antes
antis
autos
iotas
oaths
 

Найдите пробел или начало строки (^), затем строчную или прописную гласную, любую заглавную или строчную букву, t, любую заглавную или строчную букву, строчную букву s и, наконец, пробел или конец строки ($)

Комментарии:

1. в нем говорится о ненужных флагах / параметрах

2. Это может быть версия grep. Я использую GNU grep версии 2.20

/usr/share/dicst/words
в нем говорится, что вам нужно перечислить Advent

Я также попробовал это


ни один из них не работает, я не знаю, что не так в моем ответе

Комментарии:

1. Advent имеет длину 6 символов и не имеет t средней позиции. Зачем вам это в выводе?

2. Пожалуйста, опубликуйте некоторые примеры данных с соответствующими ожидаемыми результатами. Не публикуйте их в виде комментариев или изображений, а отредактируйте и включите их в свой первоначальный вопрос. Таким образом, ваш вопрос непонятен.

3. Похоже, что регулярное выражение, которое вы хотите, просто ^[AEIOUY].t.s$

4. Мне нужна гласная в верхнем или нижнем регистре

5. Это задание или тестовый вопрос для собеседования?

Ответ №1:

Вам нужно использовать -o переключатель grep команды:


означает: покажите мне целые строки, содержащие выражение, в соответствии с упомянутыми переключателями.


означает: покажите мне только выражения.

Ответ №2:

Со словарем, взятым из https://gist.githubusercontent.com/wchargin/8927565/raw/d9783627c731268fb2935a731a618aa8e95cf465/words


Найдите пробел или начало строки (^), затем строчную или прописную гласную, любую заглавную или строчную букву, t, любую заглавную или строчную букву, строчную букву s и, наконец, пробел или конец строки ($)

Комментарии:

1. в нем говорится о ненужных флагах / параметрах

2. Это может быть версия grep. Я использую GNU grep версии 2.20

/usr/share/dicst/words
ни один из них не работает, я не знаю, что не так в моем ответе

Комментарии:

1. Advent имеет длину 6 символов и не имеет t средней позиции. Зачем вам это в выводе?

2. Пожалуйста, опубликуйте некоторые примеры данных с соответствующими ожидаемыми результатами. Не публикуйте их в виде комментариев или изображений, а отредактируйте и включите их в свой первоначальный вопрос. Таким образом, ваш вопрос непонятен.

3. Похоже, что регулярное выражение, которое вы хотите, просто ^[AEIOUY].t.s$

4. Мне нужна гласная в верхнем или нижнем регистре

5. Это задание или тестовый вопрос для собеседования?

Ответ №1:

Вам нужно использовать -o переключатель grep команды:


означает: покажите мне целые строки, содержащие выражение, в соответствии с упомянутыми переключателями.


означает: покажите мне только выражения.

Ответ №2:

Со словарем, взятым из https://gist.githubusercontent.com/wchargin/8927565/raw/d9783627c731268fb2935a731a618aa8e95cf465/words


Найдите пробел или начало строки (^), затем строчную или прописную гласную, любую заглавную или строчную букву, t, любую заглавную или строчную букву, строчную букву s и, наконец, пробел или конец строки ($)

Комментарии:

1. в нем говорится о ненужных флагах / параметрах

2. Это может быть версия grep. Я использую GNU grep версии 2.20

/usr/share/dicst/words

в нем говорится, что вам нужно перечислить Advent

Я также попробовал это


ни один из них не работает, я не знаю, что не так в моем ответе

Комментарии:

1. Advent имеет длину 6 символов и не имеет t средней позиции. Зачем вам это в выводе?

2. Пожалуйста, опубликуйте некоторые примеры данных с соответствующими ожидаемыми результатами. Не публикуйте их в виде комментариев или изображений, а отредактируйте и включите их в свой первоначальный вопрос. Таким образом, ваш вопрос непонятен.

3. Похоже, что регулярное выражение, которое вы хотите, просто ^[AEIOUY].t.s$

4. Мне нужна гласная в верхнем или нижнем регистре

5. Это задание или тестовый вопрос для собеседования?

Ответ №1:

Вам нужно использовать -o переключатель grep команды:


означает: покажите мне целые строки, содержащие выражение, в соответствии с упомянутыми переключателями.


означает: покажите мне только выражения.

Ответ №2:

Со словарем, взятым из https://gist.githubusercontent.com/wchargin/8927565/raw/d9783627c731268fb2935a731a618aa8e95cf465/words


Найдите пробел или начало строки (^), затем строчную или прописную гласную, любую заглавную или строчную букву, t, любую заглавную или строчную букву, строчную букву s и, наконец, пробел или конец строки ($)

Комментарии:

1. в нем говорится о ненужных флагах / параметрах

2. Это может быть версия grep. Я использую GNU grep версии 2.20