non-GNU sed

Sep 03, 2009 11:52

Пишу себе на память, потому что сколько-то времени потратила. Имеем bash и неГНУщийся sed.( Read more... )

полезно, работа

Leave a comment

Comments 18

rampitec September 3 2009, 09:54:21 UTC
А твой sed не понимает разделители, кроме слешей? Вот так:

sed "s|match|repl|g"

Reply

redtigra September 3 2009, 09:57:41 UTC
Мне не удалось его уговорить, я пробовала. 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.

Reply

rampitec September 3 2009, 10:01:29 UTC
Жаль. Но могу сказать, что в гнусном их экранировать не надо, если сепаратор выбран другой. Регулярно пользуюсь. А где ты такой sed нашла? Под той же солярой есть gsed...

Reply

redtigra September 3 2009, 10:09:40 UTC
*сумрачно* под AIX, ясен пень. там все негнушное. и тар, и сед...

Reply


sertoun September 3 2009, 10:14:00 UTC
(зачарованно смотрит синенькими и пустенькими, как у котят, глазами) не фонит. и переливается.

Reply

redtigra September 3 2009, 10:20:12 UTC
не фонит совершенно.

Reply


yucca September 3 2009, 13:31:54 UTC
Ой, а нельзя все это на Перле написать? :)

Reply

redtigra September 3 2009, 13:51:36 UTC
я была уверена, что кто-нибудь да предложит. :)

не стоит, потому что весь остальной инструментарий - а его много - на bash, и смешивать не хочется. Кроме того, скрипт унаследует дядька (я завтра уеду) - ORACLE-бог, но со скриптовымы языками на вы и с перлом не очень общается, а все обвязки предпочитает на ksh или вообше, господи помоги, пишет sql-скриптики, ему так удобней.

Словом, написать можно, но по ряду причин в данном конкретном случае не стоит.

Reply

oxfv September 3 2009, 15:17:59 UTC
Я, конечно, не юниксоид, но согласен с оратором выше. Если вопрос в maintainability, то вот такие зубодробительные строчки, особенно последняя, крайне unmaintainable. На перле или на моем любимом питоне все это займет строчки четыре прекрасно читаемого текста (ну, на питоне прекрасно читаемого, за перл не скажу).

Reply

redtigra September 4 2009, 07:38:46 UTC
в итоге последняя строчка не понадобилась, и вообще весь скрипт в итоге был переделан в крайне простую и читаемую форму. зубодробительность с регекспами практически неизбежна, а питон - во-первых, я его знаю неизмеримо хуже, чем перл и баш, и учить его ради срочного скрипта в сорок строк, при всем уважении, не буду, во-вторых, дорогой неюниксоид, в отличие от перла и шелла питон не является универсально находимым на практически любой юникс-платформе инструментом. Простейшая интерполяция из того факта, что я не вынуждена пользоваться не-гну версией, приводит к выводу, что у меня нет рута на хосте и возможности приплетения другого софта сильно ограничены, это а, и сказывается на переносимости скрипта, это б. Не говоря уж о том, что скрипт должен легко читаться и майнтейниться другим человеком, для которого и писался. Словом, там есть совокупность причин, обуславливающих выбор инструментария, и ну вот правда, без их учета совет звучит немножко голословно. (Но я поняла твои чувства к питону и прониклась ;) )

Reply


Leave a comment

Up