$ awk '/^V1\.00.* APP1$/{print $NF}' version.lst
APP1
Это регулярное выражение соответствует строкам, которые начинаются с "V1.00", за которым следует любое количество любых других символов, заканчивающихся на "APP1".Обратная косая черта в середине может быть очень важной - она соответствует только «.», И поэтому исключает (возможно, поврежденные) строки, которые могут начинаться, скажем, с «V1a00».Пробел перед «APP1» исключает такие вещи, как «APP2_APP1».
«NF» - это автоматически генерируемая переменная, которая содержит номер поля во входной строке.Это также номер последнего поля, которое, как оказалось, вас интересует.
Есть несколько способов обрезки "V1".Вот один из способов, хотя мы с тобой, возможно, не говорим об одном и том же.
$ awk '/^V1\.00.* APP1$/{print substr($1, 1, index($1, ".") - 1), $NF}' version.lst
V1 APP1