копировать значения/строки из файла, содержащие специальные символы [дубликат]

0
23.10.2018, 16:10
3 ответа

Вот для чего csplit. С реализацией GNU:

csplit -f file --suppress-matched -z input.txt '/^@/' '{*}'
2
28.01.2020, 02:31

Максимально примитивно:

i=0; while read NN; do if [[ $NN == "@" ]] ;then i=$(($i+1)) ; else echo $NN >> file$i; fi done < file

Привет

0
28.01.2020, 02:31

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

awk -v 'f=file' '/^@/{i++;close(f i);fg=1;next}!fg{next}{print > f i}' infile

Если вы хотите только 2 файла:

awk -v 'f=file' -v 'nb=2' '/^@/{i++;close(f i);fg=1;next}!fg{next}i>nb{exit}{print > f i}' infile
0
28.01.2020, 02:31

Теги

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