Вход на сайт
Perl
601
06.04.11 17:51
дорогие линуксоиды!
среди вас масса знатоков перла. помогите, пожалуйста, составить скрипт следующего содержания:
есть файл, содержащий 5 колонок цифр. колонки периодически прерываются строкой. нужно разделить весь файл на отдельные секции от строки до строки, ИСКЛЮЧАЯ саму строку и записать каждую секцию в отдельный файл.
примерно такой вид файла:
0.5271018E+00 0.3000000E+00 0.3922903E+02 0.2287409E+02 0.1130157E+01
0.5390814E+00 0.3000000E+00 0.3930579E+02 0.2452473E+02 0.1129880E+01
0.5510610E+00 0.3000000E+00 0.3914523E+02 0.2128597E+02 0.1130461E+01
0.5630406E+00 0.3000000E+00 0.3904968E+02 0.1738770E+02 0.1130807E+01
0.5750201E+00 0.3000000E+00 0.3903104E+02 0.1958932E+02 0.1130874E+01
0.5870000E+00 0.3000000E+00 0.3833472E+02 0.1696489E+02 0.1133402E+01
50 50 hx #2
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
50 50 hx #3
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
50 50 hx #4
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
среди вас масса знатоков перла. помогите, пожалуйста, составить скрипт следующего содержания:
есть файл, содержащий 5 колонок цифр. колонки периодически прерываются строкой. нужно разделить весь файл на отдельные секции от строки до строки, ИСКЛЮЧАЯ саму строку и записать каждую секцию в отдельный файл.
примерно такой вид файла:
0.5271018E+00 0.3000000E+00 0.3922903E+02 0.2287409E+02 0.1130157E+01
0.5390814E+00 0.3000000E+00 0.3930579E+02 0.2452473E+02 0.1129880E+01
0.5510610E+00 0.3000000E+00 0.3914523E+02 0.2128597E+02 0.1130461E+01
0.5630406E+00 0.3000000E+00 0.3904968E+02 0.1738770E+02 0.1130807E+01
0.5750201E+00 0.3000000E+00 0.3903104E+02 0.1958932E+02 0.1130874E+01
0.5870000E+00 0.3000000E+00 0.3833472E+02 0.1696489E+02 0.1133402E+01
50 50 hx #2
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
50 50 hx #3
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
50 50 hx #4
0.0000000E+00 0.0000000E+00 0.4393939E+02 -0.5029186E+01 0.1113370E+01
0.1371429E-01 0.0000000E+00 0.4458670E+02 -0.2310062E+00 0.1111101E+01
0.2742857E-01 0.0000000E+00 0.4347031E+02 0.1117820E+01 0.1115019E+01
0.4114286E-01 0.0000000E+00 0.4379453E+02 0.2181791E+01 0.1113878E+01
0.5485714E-01 0.0000000E+00 0.4447989E+02 0.2834043E+01 0.1111475E+01
NEW 06.04.11 23:46
в ответ паскуда 06.04.11 17:51
еще пара вариантов
http://6v8.gamboni.org/Spliting-files-with-a-regular.html это на perl
www.unix.com/shell-programming-scripting/70227-split-file-based-pattern-a... тут 3 варианта, perl, awk, csplit
не проверял
http://6v8.gamboni.org/Spliting-files-with-a-regular.html это на perl
www.unix.com/shell-programming-scripting/70227-split-file-based-pattern-a... тут 3 варианта, perl, awk, csplit
не проверял
0001, 0010, 0011, 0100, 0101, вышел зайчег погулядь