2014-07-21 4 views
1

У меня есть текстовый файл, который содержит несколько абзацев, которые я хочу разрезать на отдельные файлы. Он должен работать в системе Linux.отдельный файл на несколько

, например: первый у меня есть этот файл:

== 01.01.2014 == 
this is the text that should 
go into 

file one 
and i like file one to be namend 01-01-2014 

== 15.02.2014 == 
and this is the text that should 
end up 
in file two 

where file two is named 
15-02-2014 

и резки он должен иметь два файла с именем 15-02-2014.txt и 01-01-2014.txt, содержащие только textpart принадлежащих к дате, одна из проблем может заключаться в том, что между ними существуют разрывы строк и пустые строки, поэтому файл может содержать несколько текстовых блоков

Я думал, что будет решение с использованием awk, но я не знаю, как сэкономить это разные файлы. . Мой другой подход заключался в использовании libreoffice writer, но, похоже, его функция поиска и замены не позволяет вставлять разбиение на страницы.

ответ

4

Вы можете сделать так:

awk '/^==/ {out=$2} {print > out".txt"}' file 

Он будет использовать дату после == как имя выходного файла.

+0

Большое спасибо! Это работает отлично. Прошу прощения, у меня нет достаточной репутации, чтобы повысить ее. Примите его, как только мне позволено – user2567875

Смежные вопросы