У меня есть большой текстовый файл в формате.Соответствие 2 регулярным выражениям по определенным критериям?
english word: spanish equivalent words here;
english word: spanish equivalent words here;
for about 1000 lines
Что мне нужно сделать, это найти слова о том, что английское слово такое же, как испанское слово за исключением того, последняя буква «е» было изменено на «O» Таким образом, все английские слова, end в 'e', их испанское эквивалентное слово - это то же самое правописание, за исключением последней буквы, это «o», а не «e». Я надеюсь, что имело смысл:
Например я составить слово
thiswordE: spanishwordO; would be returned whilst
thisword: spanishwordO; would not
thisword: spanishword; would also not be returned
Я попытался выделить это с:
awk '/[^e:]*e:/ && /[^o;]*o;/ {print}' a.txt
и
awk '/.*(e:|o;)/ {print}' a.txt
Ни один из них не работал для меня .. может кто-нибудь помочь мне? Или назовите меня в правильном направлении?
Также говорят, что я использовал awk для поиска определенного выражения, как бы установить переменную, равную этому регулярному выражению?
Например, если бы я имел регулярное выражение для указанного выше файла
awk '/...:/' (so the last 3 letters before the :)
и хотел установить переменную равен результат этого регулярного выражения, как бы я это сделать?
Если вы дадите мне прямой ответ, можете ли вы объяснить, как это работает, пожалуйста?
С вопросами о домашнем задании обязательно укажите ограничения на инструменты или методы (awk _or_ sed или _any_ UNIX filter?), Которые должны использоваться или могут использоваться и как ожидается выход (в этом случае вам нужен текстовый файл с результатами? или вам нужна программа, которая может просто распечатать их на экране? Модифицировать файл на месте или сделать копию и помещать ее в другое место?) –