У меня есть много файлов, которое строки похоже
lotsofblah/XY##_####_morefoo
где # является числом. Теперь я хочу показать только части
YZ##_####
в ударе, каждом в новой строке, конечно.
Принятие Вас хочет, чтобы XY был любыми двумя буквами...
Что-то как
grep -Eo "[A-Z]{2}[0-9]{2}_[0-9]{4}" file
Соответствовал бы [двум буквам] [два числа] _ [четыре числа]
Если бы Вы хотели, то это могло бы быть немного более точно, удостоверившись, что существует / infront и _ впоследствии, но это - начальная точка.
Соедините это от человека grep:
-E, --extended-regexp Interpret PATTERN as an extended regular expression (see below) -o, --only-matching Show only the part of a matching line that matches PATTERN.
Я предполагаю, что XY и YZ являются тем же, и я буду рассматривать их так же, как XY
egrep "XY[0-9]{2}_[0-9]{4}" filename -o
Ключ -o
опция, которая показывает только совпавший текст.