perl -pe 's/^/++$a.$"/e if /^\[/... /^$/ and /^(?!\[)./' file.txt
TITLE: hello world
SUBTITLE: document about hello world
[CONTENT 1]
1 That's a line
2 Another one
3 Row
[EXAMPLE]
4 Example line
[CONTENT 2]
5 A
6 B
7 C
Text, text, text....
-p
обрабатывает строку файла -по строке -+ включена автопечать. s/^/.../e
добавит счетчик и пробел($"
= разделитель списка = пробел по умолчанию)/e
Модификатор команды replace будет рассматривать RHS как код Perl, который необходимо оценить, а результат будет помещен в качестве результата замены. /^\[/.. /^$/
=> выбирает диапазон строк, начиная со строки, начинающейся с открывающейся квадратной скобки, и заканчивая диапазоном при обнаружении пустой строки. Мне удалось подключить мою машину с FreeBSD к Pulse Secure с помощью комбинации довольно новой версии OpenConnect и удобного пакета Python .
Для пакета juniper -vpn -py требуется Python2 и несколько зависимостей (, перечисленных в его файле requirements.txt ). Вы поймете, что встретили их, если сможете выполнить python2.7 juniper-vpn.py
и получить минимальную ошибку:--host and <action> are required parameters
. (Обратите внимание, что ваши средства запуска Python 2 могут отличаться от моих.)
После этого в моем конкретном случае я могу выполнить:
sudo openconnect --juniper --user [username] --csd-wrapper tncc.py [vpn address]
, и я получу подсказки командной строки -, очень похожие на то, что я увидел бы при использовании надлежащего клиента Pulse Secure. Как только я прохожу различные проверки безопасности, он работает так же, как и в моей виртуальной машине Windows, за исключением того, что Windows не обременяет его.