Мне не удалось его уговорить, я пробовала. man гласит:
(2)s/pattern/replacement/flags Substitutes the replacement string for the first occurrence of the pattern parameter in the pattern space. Any character that is displayed after the s subcommand can substitute for the / (slash) separator except for the space or new-line character.
Так что, похоже, замена сепаратора - тоже привилегия гну, как и масса других хороших вещей. Но я, кстати, полагаю, что слеши в подстановке придется экранировать все равно, это же regexp.
Жаль. Но могу сказать, что в гнусном их экранировать не надо, если сепаратор выбран другой. Регулярно пользуюсь. А где ты такой sed нашла? Под той же солярой есть gsed...
не стоит, потому что весь остальной инструментарий - а его много - на bash, и смешивать не хочется. Кроме того, скрипт унаследует дядька (я завтра уеду) - ORACLE-бог, но со скриптовымы языками на вы и с перлом не очень общается, а все обвязки предпочитает на ksh или вообше, господи помоги, пишет sql-скриптики, ему так удобней.
Словом, написать можно, но по ряду причин в данном конкретном случае не стоит.
Я, конечно, не юниксоид, но согласен с оратором выше. Если вопрос в maintainability, то вот такие зубодробительные строчки, особенно последняя, крайне unmaintainable. На перле или на моем любимом питоне все это займет строчки четыре прекрасно читаемого текста (ну, на питоне прекрасно читаемого, за перл не скажу).
в итоге последняя строчка не понадобилась, и вообще весь скрипт в итоге был переделан в крайне простую и читаемую форму. зубодробительность с регекспами практически неизбежна, а питон - во-первых, я его знаю неизмеримо хуже, чем перл и баш, и учить его ради срочного скрипта в сорок строк, при всем уважении, не буду, во-вторых, дорогой неюниксоид, в отличие от перла и шелла питон не является универсально находимым на практически любой юникс-платформе инструментом. Простейшая интерполяция из того факта, что я не вынуждена пользоваться не-гну версией, приводит к выводу, что у меня нет рута на хосте и возможности приплетения другого софта сильно ограничены, это а, и сказывается на переносимости скрипта, это б. Не говоря уж о том, что скрипт должен легко читаться и майнтейниться другим человеком, для которого и писался. Словом, там есть совокупность причин, обуславливающих выбор инструментария, и ну вот правда, без их учета совет звучит немножко голословно. (Но я поняла твои чувства к питону и прониклась ;) )
Comments 18
sed "s|match|repl|g"
Reply
(2)s/pattern/replacement/flags
Substitutes the replacement string for the first occurrence of the pattern parameter in the pattern space. Any character that is displayed
after the s subcommand can substitute for the / (slash) separator except for the space or new-line character.
Так что, похоже, замена сепаратора - тоже привилегия гну, как и масса других хороших вещей. Но я, кстати, полагаю, что слеши в подстановке придется экранировать все равно, это же regexp.
Reply
Reply
Reply
Reply
Reply
Reply
не стоит, потому что весь остальной инструментарий - а его много - на bash, и смешивать не хочется. Кроме того, скрипт унаследует дядька (я завтра уеду) - ORACLE-бог, но со скриптовымы языками на вы и с перлом не очень общается, а все обвязки предпочитает на ksh или вообше, господи помоги, пишет sql-скриптики, ему так удобней.
Словом, написать можно, но по ряду причин в данном конкретном случае не стоит.
Reply
Reply
Reply
Leave a comment