У меня есть несколько очень больших файлов, которые в основном представляют собой объединение нескольких небольших файлов, и мне нужно разбить их на составляющие файлы. Мне также нужно назвать файлы так же, как и исходные файлы.
Например, файлы 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), если это имеет какое-либо отношение к вашему ответу.