[c0der@xxx ~]$ cat TEST
Name Interval Datum Name Ellipsoid Name
Semi-major axis
__________________________________________________________________________________________________________
Aurora Secondary 10 min WGW-84 WGW-84
6378137.0000Name Inv. flattening Shift ShiftType Projection
__________________________________________________________________________________________________________
Aurora Secondary 298.2572221 WGW-84 -> HDA-90 Bursa Wolf ZONE 52S
[c0der@xx ~]$ sed -n '/ShiftType/{n;n;s/[ t]\{2,\}/|/g;s/[^|]*|[^|]*|[^|]*|\([^|]*\)|.*/\1/p}' <TEST
Bursa Wolf
Форматирование, возможно, всё испортит... Короче, надо вас сами пробовать. Вот дока по sed: http://www.cs.utk.edu/~vose/c-stuff/sed_tutorial.html Читайте, пробуйте и у вас всё получится.
Вот алгоритм решения вашей задачи на sed:
- найти строку, в которой есть фраза ShiftType (/ShiftType/)
- считать следующую строку (n)
- считать следующую строку (n)
- теперь строка через одну от найденной у нас. Нужно "выкусить из неё 4 столбец
+ заменяем повторяющиеся два и более раз пробелы/табуляции во всей строке на что-то уникальное (s/[ \t]\{2,\}/|/g)
+ теперь наш уникальный знак является разделителем полей, по регэкспу выкусываем из него только четвёртое поле
- выводим результат