Работает
- Сначала мы выделяем диапазон между строками
/~ ~/
. Все, что снаружи, удаляется.
- Сами выбросы диапазона также удаляются.
- Теперь у нас есть нужные строки для работы: в них мы размещаем маркер
\n
в начале 4-го поля и еще один в конце 6-го.
- Наконец, мы удаляем все, что находится за пределами этих маркеров, и остаются 4-е, 5-е и 6-е поля + их промежуточные пробелы (без изменений).
sed -ne '
/~ ~/,//!d
//d
s/[^[:space:]]\{1,\}/&\n/6
s/[^[:space:]]\{1,\}/\n&/4
s/.*\n\(.*\)\n.*/\1/p
' yourfile
Результаты
0.00781 0.00108 0.00038
0.01271 -0.01507 0.02839
-0.05015 -0.01803 0.01588
0.01733 0.03089 -0.04611
0.01230 0.00114 0.00147
Jeff Schaller
13.07.2017, 17:05
Ссылка