У меня есть несколько очень больших файлов, которые в основном представляют собой конкатенацию нескольких небольших файлов, и мне нужно разбить их на свои составные файлы. Мне также нужно указать файлы так же, как и исходные файлы.Разделение конкатенированного файла на основе текста заголовка
Например файлы QMAX123
и QMAX124
были сцеплены для:
;QMAX123 - Student
... file content ...
;QMAX124 - Course
... file content ...
Мне нужно обновить файл QMAX123
в
;QMAX123 - Student
... file content ...
И QMAX124
в
;QMAX124 - Course
... file content ...
Подлинник заголовок файла ;QMAX<some number>
уникален и отображается только как заголовок в файле.
Я использовал сценарий ниже, чтобы разделить содержимое файлов, но я не смог его адаптировать, чтобы правильно получить имена файлов.
awk '/^;QMAX/{close("file"f);f++}{print $0 > "file"f}' <filename>
Так что я могу либо адаптировать этот сценарий, чтобы правильно назвать файл или я могу переименовать расщепленные файлы, созданные с помощью скрипта выше на основе содержимого файла, в зависимости от того легче.
В настоящее время я использую cygwin bash (который имеет perl и awk), если это имеет какое-либо отношение к вашему ответу.
Выглядит довольно близко, это хотя зачистки заголовок файла. Есть ли изменения, которые вы можете сделать, чтобы их сохранить? – StevenWilkins 2010-12-09 18:08:12