Hello! On Sunday 14 February 2010 20:18:18 Serhiy Storchaka wrote: > > awk 'BEGIN {OUT=0} /^-/ {BASE=NR; OUT=!OUT} /^[^-]/ { if (OUT) { if > > ((NR-BASE)%2) { FILENAME=substr($0,2) } else {print $1, "\t", $4, $5, > > "\t", FILENAME } } }' > > Можно и так (только "\t" лишние).
\t не лишние, поскольку результат еще надо потом разобрать на поля и в базу сложить. Я там на всякий случай зарезервировал 4 поля на усмотрение пользователя, ежели кому захочется дополнительную информацию собирать. А уж распарсить строку с фиксированным числом полей, разделенных табом, далее уже элементарно. > Или короче: > > awk '/^-+$/ {OUT+=1; next} > OUT==1 {FILENAME=substr($0,2); getline; print $1, $4, $5, FILENAME}' Здорово, мне нравится. Best regards, Alexey Pechnikov. http://pechnikov.tel/