1
Я хочу заменить несколько блоков файлов js на мини-версию с помощью команды perl.Perl заменить не работает как ожидалось
Когда я тестировал его на веб-сайте, он работает , но когда я запускаю в командной строке, это не так.
echo '<!doctype html>
<html>
<head>
<script src="lib/angular.js"></script>
<!-- build:js ../ute.min.js -->
<script src="app/app.js"></script>
<script src="app/services/uteEndpoint.js"></script>
<!-- endbuild:js -->' | perl -pe 's/<!-- build:js ([^ ]+) -->[^\!]+<!-- endbuild:js -->/<script src="$1"><\/script>/gm'
Что я делаю неправильно в командной строке?
я испытал здесь, http://www.regexe.com/, и мой ожидается выход
<!doctype html>
<html>
<head>
<script src="lib/angular.js"></script>
<script src="../ute.min.js"></script>
Спасибо, мне нужно узнать, какой режим хлебать это. обучение никогда не заканчивается :) – allenhwkim
'-00' - режим абзаца, он просто работает по совпадению, потому что вход не имеет двух последовательных строк. Для получения дополнительной информации см. 'Perldoc -v '$ /" '. – TLP
да, вот что я сказал. Perl разбивает входные данные в соответствии с двумя символами новой строки. Я думаю, что термин slurp здесь неправильный. Так что я добавил '-0777pe' –