LINUX.ORG.RU

Шаблоны и обработка строк в shell-скриптах

 ,


0

0

Сергей Супрунов перевел статью Питера Сибаха (Peter Seebach) "Patterns and string processing in shell scripts", которая является отрывком из недавно изданной книги "Beginning Portable Shell Scripting" (Основы разработки переносимых скриптов на языке командной оболочки).

Программирование на языке командной оболочки тесно связано с обработкой строк. Часто при этом бывает нужно определить, соответствует ли заданная строка заданному шаблону; этот процесс называется сопоставлением с шаблоном. Командная оболочка предоставляет довольно развитые средства сопоставления. К тому же многие стандартные утилиты Unix, такие как grep и sed, также предоставляют функции сопоставления с шаблоном. Обычно эти программы используют более мощную разновидность сопоставления, называемую "регулярными выражениями". Регулярные выражения, поскольку они отличаются от шаблонов командной оболочки, играют решающую роль для максимально эффективной работы shell-скриптов. Так как сама оболочка не обладает встроенной поддержкой переносимых регулярных выражений, программы на shell во многом полагаются на внешние утилиты, многие из которых используют регулярные выражения.

>>> Подробности

★★★

Проверено: Shaman007 ()

Re: Шаблоны и обработка строк в shell-скриптах

А в чем новость? Питер Сибах осилил shell scripting?

anonymous ()

Re: Шаблоны и обработка строк в shell-скриптах

даже не смешно

в первом же примере ошибка

/и да, я сходил по ссылке

anonymous ()

Re: Шаблоны и обработка строк в shell-скриптах

Жалко книг таких в продаже пол года назад небыло... пришлось по сканам шелл учить((

anonymous ()

Re: Шаблоны и обработка строк в shell-скриптах

Слишком уж много новостей по теме шелла.

balodja ★★★ ()

Всё полезно, что в shell полезло.

Да ладно вам ругаться, хорошая штука сценарии оболочки. От ещё одного учебника хуже не станет.

Camel ★★★★★ ()
Ответ на: Всё полезно, что в shell полезло. от Camel

Re: Всё полезно, что в shell полезло.

>Да ладно вам ругаться, хорошая штука сценарии оболочки. От ещё одного учебника хуже не станет.

+1

Однозначно. :)

profbrown ()

Ахтунг, вендузятники детектед повсюду!

Господа!

1) Перевод shell как "оболочка" -- это ЧИСТЕЙШИЙ (!!!) микрософтизм, поскольку у них этим словом называется проводник и та недонортонкоммандеровская приблуда в ДОСе, которая была до него.

В юниксе shell -- это С САМОГО НАЧАЛА "интерпретатор команд", на худой конец "командный процессор" как КЛАСС ПРОГРАММ -- или просто название программы shell. В данной статье следует придерживаться ТРЕТЬЕГО варианта перевода, так как csh -- это тоже интерпретатор команд, но язык сценариев у него другой.

2) В кино script это "сценарий", и в программировании тоже: по смыслу и то, и другое -- текст с указаниями, которые должны быть интерпретированы (в одном случае актерами, в другом -- интерпретатором). Транслитерация "скрипт" безобразна и безграмотна: а ну-ка, переведите название рубрики "Hey, Scripting Guy!" из MSDN Mag! "Эй, скриптюк"?! "Эй, скриптовщик"?! А в статьях этой рубрики есть прямые намёки на Голливуд...

Кроме того, русское ухо слышит в этом буквосочетании греческое "крипт" (а греческие заимствования в русском языке на 99% являются неотъемлемой частью языка уже более 1000 лет), что наводит на явно неверные ассоциации с шифрованием. "Сценарий" -- слово заимствованное, но давно (250 лет) и прочно. И неча плодить ненужные ублюдочные транслитерации.

Orlusha ★★★★ ()
Ответ на: Re: Ахтунг, вендузятники детектед повсюду! от firsttimeuser

Re: Ахтунг, вендузятники детектед повсюду!

> херасе луч поноса

Примерно такие аргументы высказываем, когда вышибаем очередную быдлотранслитерацию из словаря заказчика.

Из сана вышибли всё дерьмо: скоро ждите обновлённый словарик. И по яве тоже.

С микрософтом последнее время стало хуже: в качестве LL они взяли контрактного мжика из Логруса, а того на кулхацкерский язычок потащило. Странно что-то... Или микрософт собирается окончательно забить болт на десктопные системы (потому как тяжёлыми стали неприемлемо, сцуки!) и заниматься только серверными, а десктопную среду поставлять в любой обозреватель через Live! ? Похоже на то, на вендодесктопокапец.

Orlusha ★★★★ ()
Ответ на: Ахтунг, вендузятники детектед повсюду! от Orlusha

Re: Ахтунг, вендузятники детектед повсюду!

Выдыхай!

Раз его назвали shell, значит он и будет shell, а у перевода shell я что-то не заметил варианта "командный процессор".

Это тот единственный из множества аргументов, что мне было не лень на подобный вздор привести. Есть и другие, но среди этого графоманского потока сознания они будут себя чувствовать невостребованными.

malices_gossips ★★★ ()

Re: Шаблоны и обработка строк в shell-скриптах

>Жалко книг таких в продаже пол года назад небыло... пришлось по сканам шелл учить((

Advanced Bash Scripting Guide доступен с черте каких времен. Даже в переводе. У вас была нужда конкретно, держа в руках бумагу, читать что ли?

malices_gossips ★★★ ()
Ответ на: Ахтунг, вендузятники детектед повсюду! от Orlusha

Re: Ахтунг, вендузятники детектед повсюду!

>В юниксе shell -- это С САМОГО НАЧАЛА "интерпретатор команд"

Как реализация - интерпретатор команд. Как функция - оболочка.

anonymous ()

Re: Шаблоны и обработка строк в shell-скриптах

Чорт. Увидел слово "шаблоны", подумал про паттерны проектирования bash скриптов.

skwish ★★ ()

Re: Шаблоны и обработка строк в shell-скриптах

Ничего так, есть некоторые интересные вещи. А товарищей, которые не могут сопоставить англ. текст с русским и найти (специально для себя) свои собственные варианты перевода - остается только пожалеть.

babich ()
Ответ на: Ахтунг, вендузятники детектед повсюду! от Orlusha

Re: Ахтунг, вендузятники детектед повсюду!

> Господа! > ...

Про script согласен, а про shell - нет.

Ну что ж поделаешь, раз его shell'ом назвали? Думаете, англоговорящие люди воспринимают слово shell как "командный процессор", а не именно как "оболочка", она же "раковина" (как у моллюсков)?

Можно было бы использовать для перевода какое-нибудь более удачное русское слово, но длинные словосочетания из английских слов: "интерпретатор команд", "командный процессор" - совсем не годятся.

const86 ★★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Примерно такие аргументы высказываем, когда вышибаем очередную быдлотранслитерацию из словаря заказчика.

Как обычно, вам уважуха! +много.

Сам я в русском не силён, но даже меня достают не по детски. Букву Ё не пишут, в устной речи ударения безграмотные вообще, постоянные заимствования на пустом месте, как украиняне, ей богу!. Одни Пайтон и Джава чего стоят!

alx_me ★★☆ ()

Re: Шаблоны и обработка строк в shell-скриптах

> Основы разработки переносимых скриптов на языке командной оболочки

Переносимых куда, простите? Из bash'а в csh? Или куда еще можно перенестити скрипты на языке командой оболочки?

PS по ссылке сходил, неинтересно

timpson ()
Ответ на: Re: Шаблоны и обработка строк в shell-скриптах от malices_gossips

Re: Шаблоны и обработка строк в shell-скриптах

> У вас была нужда конкретно, держа в руках бумагу, читать что ли?

Просто подумай, в каких случаях бывает нужда, да ещё чтоб с бумагой... ;)

Slavaz ★★★★★ ()
Ответ на: Ахтунг, вендузятники детектед повсюду! от Orlusha

Ахтунг, ламер детектед.

>Перевод shell как "оболочка" -- это ЧИСТЕЙШИЙ (!!!) микрософтизм, поскольку у них этим словом называется проводник и та недонортонкоммандеровская приблуда в ДОСе, которая была до него.

Всё в точности наоборот. Товарищи, не слушайте Orlush'у, он не читатель, он писатель. В любой книжке о Unix'овых и GNU/Linux'овых системах написано про оболочку, а в книгах о DOS'е и работе в командной строке Windows написано про командный интерпретатор.

Camel ★★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

>Можно было бы использовать для перевода какое-нибудь более удачное русское слово, но длинные словосочетания из английских слов: "интерпретатор команд", "командный процессор" - совсем не годятся.

Нет, термин "оболочка" абсолютно адекватен поскольку интерпретатор команд скрывает детали операционной системы за своим интерфейсом. (мой вольный перевод из википедии http://en.wikipedia.org/wiki/Unix_shell ) Собственно название статьи тоже отражает этот факт поскольку речь идет о "переносимых" скриптах (сценариях, sry).То что термин "скрипт" - жаргонизм, согласен, но многие общеупотребительные слова были когдато жаргонизмами, например "водка". И вообще лично я против прямых переводов вроде "ногомячей", "подпутей", "воздухопространств" и т.п.

A-234 ★★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Нет, термин "оболочка" абсолютно адекватен поскольку интерпретатор команд скрывает детали операционной системы за своим интерфейсом.

Верно, просто звучит как-то "не так". Хотя возможно, это мне зря кажется...

const86 ★★★★★ ()

Re: Шаблоны и обработка строк в shell-скриптах

>Сергей Супрунов перевел статью Питера Сибаха (Peter Seebach) "Patterns and string processing in shell scripts", которая является отрывком из недавно изданной книги "Beginning Portable Shell Scripting"

Он ее точно перевел?

Siado ★★★★★ ()

Re: Шаблоны и обработка строк в shell-скриптах

Ничего нового для себя не открыл, но новичкам статья может пригодиться.

Demon37 ★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Думаете, англоговорящие люди воспринимают слово shell как "командный процессор", а не именно как "оболочка", она же "раковина" (как у моллюсков)?

Они его понимают как название программы. НЕПЕРЕВОДИМОЕ И НЕТРАНСЛИТЕРИРУЕМОЕ. Как Internet Explorer. И это самое смешное, что я понял из общения с англоговорящими коллегами...

Orlusha ★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Нет, термин "оболочка" абсолютно адекватен поскольку интерпретатор команд скрывает детали операционной системы за своим интерфейсом. (мой вольный перевод из википедии http://en.wikipedia.org/wiki/Unix_shell )

Сан считает иначе, а у других поставщиков юникса мнения нет, ибо нет официальных словарей терминов. Статья в википедии не является ничьим официальным мнением, нем более её неавторизованный перевод. В русском система образов иная.

> Собственно название статьи тоже отражает этот факт поскольку речь идет о "переносимых" скриптах (сценариях, sry).

По поводу "переносимости" уже заметили раньше. Ни добавить, ни убавить. :)

> То что термин "скрипт" - жаргонизм, согласен,

Это не жаргонизм. Это замена правильного слова с правильным смыслом на транслитерацию с целью сделать текст менее понятным "непосвящённым", "быдлу" или "лохам". Во французском это называется "арго", в русском "феня" или "сакральный язык", в английском jive или lingo. Но это не слэнг и не жаргон.

> но многие общеупотребительные слова были когдато жаргонизмами, например "водка".

"Водка" -- это транслитерация английского слова 16 века???!! 8-)

> И вообще лично я против прямых переводов вроде "ногомячей", "подпутей", "воздухопространств" и т.п.

По-сербски футбол -- "ногомет", веб-обозреватель -- "читач веба". Транслитерации им и в голову не приходили. Вот это называется культура языка. В немецком, чешском и французском дела обстоят примерно так же.

Subway отражает несуществующую в большинстве языков модель словообразования, когда выкидывается корень слова и остаётся только приставка или суффикс, на которую и переносится весь смысл (subground way -- subway, omnibus -- bus). Такие структуры напрямую переводить нельзя, естественно, и не только на русский.

А термин aerospace (прилагательное!) Вы перевели неверно: правильный перевод как раз параллельно образованное слово "аэрокосмический". Это не калька, а общая схема, доставшаяся от общего языка-предка. (E)Space в английском и французском означает как "пространство, место", так и "космос" (чудесное название модели автомобиля -- Renault Espace!), в русском этой омонимики нет, для обозначения мирового пространства использовано красивое греческое заииствование.

Orlusha ★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

Буква Ё по правилам русского языка ставится в случаях: 1. Буквари и литература для изучающих русский язык; 2. Собственные названия с устоявшимся написанием: Ёко Канно 3. При акценте внимания читателя на один из смыслов (конкретный) омонима: все -> всё.

Лепить его где не попадя - это не просто дурной тон, но и абсолютно безграмотно. Не впадайте в фанатизм.

Cronos ()

Re: Ахтунг, вендузятники детектед повсюду!

>А термин aerospace (прилагательное!) Вы перевели неверно: правильный перевод как раз параллельно образованное слово "аэрокосмический".

aero
[ˈeərəu]
прил.
1) воздушный, авиационный
2) воздухоплавательный
3) предназначенный для использования на открытом воздухе

Если уж переводить, то до конца -- "воздухокосмический".

>веб-обозреватель


А как же слово "web", его переводить не обязательно? Уж следуйте своим маразматическим (ИМХО) канонам до конца, пущай будет "обозреватель сети интернет" -- коротко, доступно, удобно в использовании.

kvit ()

Re: Ахтунг, вендузятники детектед повсюду!

> А как же слово "web", его переводить не обязательно?

> "обозреватель сети интернет"

Internet и web - немного разные вещи, а "сеть интернет" - тавтология. Обозреватель паутины получается ;) "Всемирная паутина" как перевод WWW в русском есть, а просто web обошли стороной почему-то...

const86 ★★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Internet и web - немного разные вещи, а "сеть интернет" - тавтология.

Прямо таки тавтология. Два компьютера, соединенные кроссовером (кстати, как это будет правильно по русски?) -- уже сеть, но не интернет.

kvit ()

Re: Ахтунг, вендузятники детектед повсюду!

>> Нет, термин "оболочка" абсолютно адекватен поскольку интерпретатор команд скрывает детали операционной системы за своим интерфейсом. (мой вольный перевод из википедии http://en.wikipedia.org/wiki/Unix_shell )

>Сан считает иначе, а у других поставщиков юникса мнения нет, ибо нет официальных словарей терминов...

Пустые слова, Sun - компания, она считать ничего не может, если есть официальное мнение руководства компании - озвучьте со ссылкой или молчите.

>> То что термин "скрипт" - жаргонизм, согласен,

>Это не жаргонизм...

Вот термины "быдло", "лохи" и т.п. это конечно из области языкознания, их употребляют люди следящие за чистотой языка термин "жаргонизм" неприемлющие. Но лучше вам сделать лицо попроще и читать определение, если есть возражения по существу - приводите. http://www.longsoft.ru/html/9/j/jargonizm.html К сожалению ни про "быдлонизмы" ни про "лоханизмы" Ожегов ничего не знает.

>"Водка" -- это транслитерация английского слова 16 века???!! 8-)

Выдыхайте!

A-234 ★★★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Буква Ё по правилам русского языка ставится в случаях: 1. Буквари и литература для изучающих русский язык; 2. Собственные названия с устоявшимся написанием: Ёко Канно 3. При акценте внимания читателя на один из смыслов (конкретный) омонима: все -> всё.

> Лепить его где не попадя - это не просто дурной тон, но и абсолютно безграмотно. Не впадайте в фанатизм.

Милейший! Вы путаете правила русского языка и должностную инструкцию наборщика в типогорафии, где используется металлический набор и где литер "ё" мало в соответствующем ящичке, ибо экономия и рационализация. :)

В соответствии с правилами русского языка буква "ё" пишется там, где она должна писаться. А с появлением электронного набора дремучий идиотизм, который Вы сочли за правила, канул в Лету. Ибо аргумент о необходимости держать лишний ящичек с литерами уже не актуален. :)))))

Увы, автором этого дремучего идиотизма, скрорее всего, являются люди, мнящие себя филологами. Они же до хрипоты обсуждают на конгрессах вопрос о том, как правильнее писать -- "заец" или "заиц". :(((

anonymous ()

Re: Ахтунг, вендузятники детектед повсюду!

> Вот термины "быдло", "лохи" и т.п. это конечно из области языкознания, их употребляют люди следящие за чистотой языка термин "жаргонизм" неприемлющие.

Кавычки-то мастер и не заметил... Зато пафос каков!!!

Капча hooied : цензура, где ты???!!!

anonymous ()

Re: Ахтунг, вендузятники детектед повсюду!

> Но лучше вам сделать лицо попроще и читать определение, если есть возражения по существу - приводите. http://www.longsoft.ru/html/9/j/jargonizm.html

Определение -- просто супер. Классика.

"Сепулька -- приспособление для сепуления. См. сепуление"

"Сепуление -- важный обряд в жизни ардритов; для его провендения используются сепульки. См. Сепульки."

(Станислав Лем. Звёздные дневники Ийона Тихого)

anonymous ()

Re: Ахтунг, вендузятники детектед повсюду!

> aero

> [ˈeərəu]

> прил.

> 1) воздушный, авиационный

> 2) воздухоплавательный

> 3) предназначенный для использования на открытом воздухе

> Если уж переводить, то до конца -- "воздухокосмический".

Мультитран или лингво? Сразу чувствуется исполинская мощь отечественных коммерческих филологов.

Так вот, в русском языке корень "аэро" заимствовался не из английского, а непосредственно из греческого во времена совершенно незапамятные. Как и во всех европейских языках. Как и абсолютное большинство греческих заимстований и производных слов (риза, демон, хирург и т.п.), является неотъемлемой частью языка и не нуждается в переводе.

anonymous ()
Ответ на: Re: Ахтунг, вендузятники детектед повсюду! от anonymous

Re: Ахтунг, вендузятники детектед повсюду!

Разве в дневниках? Мне казалось, это было в Осмотре на месте. Хотя, наверное, и там и там.

Но вы здесь неправы, никакого отношения лемовская сепулька, точнее, ее главный смысл, к определению Ожеговым жаргонизма не имеет. Достаточно пройти до определения "Жаргона", чтобы в этом убедиться:

>ЖАРГОН - м. Речь какойн. социальной или иной объединённой общими интересами группы, содержащая много слов и выражений, отличных от общего языка, в том числе искусственных, иногда условных. Ж. торговцев. Воровской ж.| прил. жаргонный, ая, ое.

malices_gossips ★★★ ()

Re: Ахтунг, вендузятники детектед повсюду!

> Лепить его где не попадя - это не просто дурной тон, но и абсолютно безграмотно. Не впадайте в фанатизм.

Ещё один дебил! Давай и твёрдый знак заменим на апостроф, а? Это же будет так модно, так "по-американски".

anonymous ()

Re: Ахтунг, вендузятники детектед повсюду!

> По-сербски футбол -- "ногомет", веб-обозреватель -- "читач веба". Транслитерации им и в голову не приходили. Вот это называется культура языка. В немецком, чешском и французском дела обстоят примерно так же.

А почему Вас, к примеру, не возмущает использование слова "файл", те же чехи используют "сОбор", или "компьютер" - "почИтач"? Давайте тоже использовать культурноязычные "сборняк" и "счетун".

По поводу иноязычных терминов: что негативного в них? То, что они молоды? Время всё расставляет на места: самолёт и аэродром, поезд и вокзал :) Талон и билет :)))))

У поляков наоборот, необычайно много "иностранщины" в языке. И ничего, тоже прекрасная культура языка.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.