Вы можете сделать все, что нижеawk
:
awk -F'(: *|[)(])' '
/^ *Type/ { type=type==""?$2 : type ";" $2 }
/^ *Retention/{ Retention=Retention==""?$3 : Retention ";" $3}
/^ *Wednesday/{ gsub(/ +Wednesday/,"",$0); day=day==""?$0 : day ";" $0}
END{ print type, Retention, day }' OFS=, infile
Возможно, вам придется скорректировать части условия /... /
, чтобы они более точно соответствовали значениям вашего поля.
Вывод такой, какой вы хотели.
Вы можете использовать следующее регулярное выражение:
.*@island\.ac\.kr$
Пример:
$ cat /tmp/111
Tom.riddle@island.ac.kr
Ron_Weasley@island.ac.kr
harry2020@island.ac.kr
itai@gmail.com
what.ever@island.ac.kr
abc@what.ac.kr
$ grep '.*@island\.ac\.kr$' /tmp/111
Tom.riddle@island.ac.kr
Ron_Weasley@island.ac.kr
harry2020@island.ac.kr
what.ever@island.ac.kr
Точки после знака @
необходимо экранировать.
Используя awk
и предполагая, что ввод состоит из одного адреса электронной почты в строке.
awk -F @ 'tolower($NF) == "island.ac.kr"' input.txt
или, если вы хотите всегда выводить нижний регистр -,
awk -F @ 'tolower($NF) == "island.ac.kr" { print tolower($0) }' input.txt
При этом каждая строка рассматривается как набор@
-полей с разделителями. Когда последнее поле ($NF
), преобразованное во все строчные буквы -, точно равно island.ac.kr
, строка печатается.
Тестирование:
$ cat input.txt
Tom.riddle@island.ac.kr
Ron_Weasley@island.ac.kr
harry2020@island.ac.kr
itai@gmail.com
what.ever@island.ac.kr
abc@what.ac.kr
example@island.ac.kr.com
$ awk -F @ 'tolower($NF) == "island.ac.kr"' input.txt
Tom.riddle@island.ac.kr
Ron_Weasley@island.ac.kr
harry2020@island.ac.kr
what.ever@island.ac.kr
Если вы хотите также сопоставлять адреса типа name@something.island.ac.kr
, вы можете использовать awk
вот так:
awk -F @ 'tolower($NF) ~ /island\.ac\.kr$/'
Или, с grep
и tr
,
tr '[:upper:]' '[:lower:]' <input.txt | grep 'island\.ac\.kr$'
, где tr
используется для перевода всех символов в нижний -регистр, а grep
затем используется для выбора соответствующих строк.
Или просто
grep -i 'island\.ac\.kr$' input.txt
если вы не возражаете против возможного вывода в смешанном регистре.