Я хочу разбить один большой текстовый документ (.txt) на несколько.Текстовый документ представляет собой кучу дебатов в испанском парламенте.Текст разделен на политические инициативы (я не уверен, что это идиоматично), и я хочу разделить его на документ по инициативе.Самое смешное, что каждая инициатива имеет свой собственный заголовок в следующей форме:
- DEL GRUPO PARLAMENTARIO CATALÁN (CONVERGÈNCIA I UNIÓ), REGULADORA DE LOS HORARIOS COMERCIALES. (Número de expediente 122/000004.)
- DEL DIPUTADO DON MARIANO RAJOY BREY, DEL GRUPO PARLAMENTARIO POPULAR EN EL CONGRESO, QUE FORMULA AL SEÑOR PRESIDENTE DEL GOBIERNO: ¿CÓMO VALORA USTED LOS PRIMEROS DÍAS DE SU GOBIERNO? (Número de expediente 180/000021.)
Как видите, каждый заголовок в верхнем регистре, начинается с минуса и заканчивается "XXX / XXXXXX.) "(где X - цифра), точка и закрывающая скобка.Каждый заголовок отличается друг от друга.Хотя у меня есть несколько регулярных выражений, чтобы отразить эти характеристики, чтобы между этими дебатами был элемент-разделитель.
Идеально было бы выбрать заголовок и дебаты под ним, пока не появится другой заголовок, и создать новый документ счто, в конце концов, я могу иметь в одном документе политическую инициативу с ее названием и собственной дискуссией.Благодаря этому сообществу у меня есть функциональный скрипт:
awk '/^-.+[0-9]{3}\/[0-9]{6}\.\)$/ {
if (p) close (p)
p = sprintf("split%05i.txt", ++i) }
{ if (p) print > "p" }' inputfile.txt
Но когда я запускаю его (с Cygwin в W10), ничего не происходит.Я думал, что это связано с проблемой конфигурации Windows или чем-то в этом роде, но я только что попробовал на ВМ Ubuntu, и то же самое происходит, то есть ничего не происходит:
$ ls -l
total 228
-rw-rw-r-- 1 ubuntu ubuntu 219166 Jan 30 11:28 tryme.txt
-rwxr-xr-x 1 ubuntu ubuntu 8259 Jan 30 11:24 ubiquity.desktop
$ awk '/^-.+[0-9]{3}\/[0-9]{6}\.\)$/ {
if (p) close (p)
p = sprintf("split%05i.txt", ++i) }
{ if (p) print > "p" }' tryme.txt
$ ls -l
total 228
-rw-rw-r-- 1 ubuntu ubuntu 219166 Jan 30 11:28 tryme.txt
-rwxr-xr-x 1 ubuntu ubuntu 8259 Jan 30 11:24 ubiquity.desktop
Есть идеи о том, что здесь происходит?Большое спасибо.