#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