Как выбрать определенные наборы или sturture из файла, если struture содержит определенную строку?

Вы можете использовать

split -l lines_per_file --additional-suffix=.xml source.xml part

Это прочитает файл Source.xml и разделить его в куски Lines_per_file . Результат будет записан в серию файлов Partaa.xml , partab.xml , partac.xml , ...

Если вы хотите Используйте другое количество символов суффикса, вы можете использовать опцию -A , чтобы указать номер, например. - 1 Называть файлы PAPTA.XML , PARTB.XML , partc.xml , ...

, если Вы хотите разделить куски размеров файла вместо подсчета строки, вы можете использовать -B Size_in_Bytes вместо -L Lines_Per_file .

Обратите внимание, что полученные файлы, скорее всего, будут недействительными файлами XML (если вы не получите один файл взамен, то есть. Ваш вход был слишком много строк / байтов, чтобы получить разделение).

0
04.02.2015, 11:29
2 ответа
> awk -v RS=$'\n\n' -v FS=$'\n' -v ORS=$'\n\n' '$2 ~ /123$/ {print}' abc.txt
abc 123
abcd 123
abcde 12345
2
28.01.2020, 02:28

Это стандартная процедура для GNU sed

sed '/abc 123/{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt

Or

sed '/^$/!{:1;$!{N;/\n$/!b1}};/\babcd 123\b/d' abc.txt

, если вы ориентируетесь на пустую строку, а не на 1-ю (abc 123) в блоке

.
1
28.01.2020, 02:28

Теги

Похожие вопросы