У меня есть файлы, которые выглядят так:
asdasadsdasdas
dasdasdasdasd
asdas
dasd
asdas
das
das
das
das
das
#SHUFFLE_MARK_START
das
d
das
das
dasd
asd
asdas
das
das
afs
sf
#SHUFFLE_MARK_END
fas
fas
fas
fas
fas
fas
fas
fas
Я хочу перетасовать только часть файла между двумя маркерами - #SHUFFLE_MARK_START
и #SHUFFLE_MARK_END
, маркерами случайного использования может быть любая строка, которую я хочу, они просто должны быть уникальными для каждого файла, любые идеи, как это сделать в bash, так что эффективный?
Я уже пытался сделать это, делая что-то вроде
cat file | grep -P '.+#SHUFFLE_MARK_START' > start
cat file | grep -P '#SHUFFLE_MARK_START.+#SHUFFLE_MARK_FINISH' | shuff | > middle
cat file | grep -P '#SHUFFLE_MARK_FINISH.+' > end
echo start middle end > shuffled
но для больших файлов это довольно медленно, приведенные выше команды могут быть немного неправильными, так как я набираю их из памяти, просто чтобы показать идею