Не позволяйте никому терять силу awk
, Хорем.
Я сгенерировал некоторые тестовые данные, подобные этой.
for n in {101..107}; do echo -n "a b c <serial_number>$n</serial_number>"; done > data
Тогда это,
cat data | awk -- 'BEGIN{IGNORECASE=1;FS=">";RS="</serial_number"};/<serial/{print $NF}'
производит это.
101
102
103
104
105
106
107