Тут нада чота умное напейсать! Шоб сказал, как отрезал! Но чота ничо не приходит вголову, сцуко (( :D
Встала задача разбить файл на отдельные записи, а не на равные части. И такая команда есть! csplit создаёт файлы xx00, xx01 и т.д. Формат имени можно задать. В командной строке задаётся регулярка, по которой находят начало новой записи. Прекрасно работает! Мне это нужно было, чтобы распарсить общий файл бильярдных партий на отдельный файлики с партиями, после чего их рассортировать как хочешь.
После этого получаем набор файликов вида xxNN
В первой строке у меня идёт имя партии, поэтому я смог их массово переименовать в первое слово первой строки файла:
for i in `ls xx*`; do mv $i `cat $i|head -n1|cut -d' ' -f1`; done
Вот это я понимаю мощь! :D

@темы: Linux