2017-01-30 3 views
-1

У меня есть файл, который выглядит как:Заменить переносы между [[....]]

[[ this is a test 
this is a line 
this is another line]] 

Я хочу, чтобы выглядеть следующим образом:

[[this is a test~this is a line~this is another line]] 

, если я использую сингл [его работает .. с:

perl -ane "s/\R/~/ if (/\[/ .. /\]/) && !/]/;print $_ unless $_ =~ /~\s*\^s*$/;" < filename.txt 

Как я могу изменить это использовать двойной [[]] мне приходится использовать двойной в качестве разделителя, как я узнал некоторые из текста содержащего сингл], который закрывал его, когда это не нужно было. Я подтвердил, что нет двойного [[существует в файлах.

+2

Вы попробовали что-нибудь? '/ \ [\ [/ ../\] \] /' не звучит слишком сложно. – simbabque

+0

Большое вам спасибо! Я новичок в этом! это сработало отлично! –

+0

Могу ли я задать вам еще один вопрос об этом ... теперь, если я хочу очистить все [[]] из этого файла .. как я могу это сделать? –

ответ

1

Вам необходимо включить обе скобки в ваши шаблоны для оператора триггера ...

/\[\[/ .. /\]\]/ 
Смежные вопросы