Действия по шаблону: Жизнь по шаблону, или Как изменить стереотипное поведение

Содержание

Жизнь по шаблону, или Как изменить стереотипное поведение

Саморазвитие

Жизнь по шаблону, или Как изменить стереотипное поведение

7 сентября 2020
18 488 просмотров

Лиана Хазиахметова

Иногда проблема кажется нам неразрешимой, потому что мы действуем по шаблону. Увидеть ситуацию в новом свете можно, если поступать не по привычке, а произвольно. Книга «Лиминальное мышление» как раз об этом. Разорвать шаблоны, чтобы увидеть другие возможности. Действовать по-новому, чтобы перестать ссориться и ругаться.

Как определить, шаблон это или нет?

Вот несколько примеров типичного стереотипного поведения.

Муж допоздна засиживается за компьютерными играми. Каждый раз он обещает, что посидит только полчаса, но в итоге проводит за компьютером полночи. Жена пробовала и обижаться, и ругаться, и запрещать. Ничего не работает.

В компании, которая занимается разработкой программного обеспечения, сотрудники каждый день встречались в переговорной для обсуждения проекта. Написанные программы всегда были с ошибками. Руководитель попытался решить проблему, увеличив количество планерок с 1 до 3 в день. Но и это не помогло: ошибок меньше не стало, а ход работы значительно замедлился.

Подросток не слушается родителей. Поздно приходит домой, спорит, скрывает школьные оценки. Мать и отец пытаются приструнить сына с помощью запретов. Но чем больше на него давят, тем больше подросток бунтует.

Все эти истории — примеры классической деструктивной петли. Чем больше прилагаешь усилий, тем большее сопротивление встречаешь. Применительно к последней ситуации это будет выглядеть так:

Иллюстрации из книги

В жизни полно подобных примеров. Со временем мы перестаем замечать такие порядки и привычки. Каждый день вы едете одним и тем же маршрутом, видите по пути одно и то же, со временем перестаете замечать, что вас окружает. Но если вдруг дорогу закрывают — на ремонт или по какой-то другой причине — и вам приходится искать объезд, вы вынуждены обращать внимание на все новое, что находится вокруг вас.

Так и в любой сфере жизни. Стоит сделать что-то по-другому, как жизнь станет другой — ярче и интереснее.

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

Ищем и разрываем шаблоны

Найти в своей жизни примеры шаблонов и задать развитию событий новое направление помогут следующие упражнения:

  • вспомните, есть ли человек, отношения с которым у вас идут по кругу, развиваются по модели деструктивной петли. Найдите способ прервать обычный ход вещей, даже просто невзначай. Посмотрите, что произойдет;
  • поговорите с тем, с кем обычно не разговариваете. Сходите туда, куда обычно не ходите. Поменяйте ход событий. Сделайте что-то необычное.

А как разорвали свои шаблоны жена игромана, руководитель программистов и родители подростка?

Вернемся к нашим «шаблонным» историям.

Больше всего терпения и смекалки потребовалось, наверное, родителям непослушного подростка. Когда ребенок приходил поздно домой, они ругались. Когда не убирал за собой, не стелил постель, пытались его вразумить. Все это встречало сопротивление. Психолог посоветовал им сломать шаблон и погасить для начало протест подростка. Что сделали родители? В ситуации с поздними возвращениями они стали запирать дверь и, когда сын начинал звонить, заставляли его подождать несколько минут. Не спеша надевали халат, тапочки и сонным голосом спрашивали: «Кто там?». А когда открывали дверь и видели сына, извинялись и говорили, что крепко спали. Если приходилось стелить ему постель, мама специально крошила пирожное. Конечно, подростку это было неприятно. Но шаблон был разорван, и со временем он понял: чтобы не стоять под дверью, надо приходить домой пораньше; чтобы не спать в крошках, надо стелить постель самому.

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

В общении с подростками родители часто прибегают к шаблонному мышлению.  Источник

Программистам удалось повысить качество и скорость работы, когда руководитель… просто отменил все планерки. Вместо этого они переехали в новое помещение, где сидели в одной комнате, и обсуждали проблемы, никуда не выходя. Раньше встречи в переговорной они не воспринимали, как работу. Для них это был перерыв, возможность пообщаться, поэтому решить проблемы на планерках не удавалось. Другими словами, они действовали по шаблону.

Теперь же обсуждение вопросов для программистов стало частью работы, и все пошло значительно лучше.

А жена игромана приструнила супруга очень просто: вместо ночных призывов ложиться спать, пошла и вынула Wi-fi-роутер из розетки. Иногда у них действительно пропадал интернет и приходилось перезагружать роутер. Муж вышел в коридор, увидел свою жену и… пристыженный отправился спать (хотя этот способ опасен тем, что может вызвать и противоположные чувства — гнев из-за сорванной игры).

Иногда чтобы изменить ход привычных и неприятных вещей, требуется одно небольшое изменение. Бывает непросто придумать, как сломать шаблон. Еще больше техник по изменению стереотипных действий вы найдете в книге «Лиминальное мышление».

Обложка поста unsplash

Шаблоны поведения человека и их формирование – почему некоторые мешают жить

В жизни ты постоянно действуешь по шаблону, сама того не замечая. Иногда это приводит тебя к желаемому результату, но чаше всего ты оказываешься в замкнутом круге проблем, которые с каждым разом все усугубляются. Что такое шаблонное поведение? Как оно появляется? Как влияет на твою жизнь? И можно ли выбраться из замкнутого круга?

В этой статье:

Что такое шаблоны в поведенииОткуда берутся поведенческие шаблоныПочему так трудно избавиться от шаблоновВлияние шаблонов на жизньКак избавиться от шаблонного поведения

Что такое шаблоны в поведении


Фото автора Yaroslava Borz: Pexels

Шаблонное поведение – это неосознаваемая модель действия, которую человек использует, оказавшись в определенной ситуации.

Шаблоны в жизни человека очень разнообразны, часто выделяют:

  • шаблоны мышления – когда человек использует одни и те же мысленные модели. Например, идя на собеседование, девушка может по привычке думать: «зачем я поехала, меня все равно не возьмут на работу».
  • речевые шаблоны – привычка изъясняться одинаковыми фразами, использование типичных оборотов речи, слов-паразитов;
  • шаблоны восприятия – свойство психики замечать и преувеличивать значимость одной информации, и игнорировать другую информацию, которая не вписывается в привычную модель восприятия. Например, глядя на свое отражение, девушка может преувеличивать количество морщин, недостатки фигуры, короткие ресницы, но не замечать красивые глаза, тонкую талию и длинные ноги;
  • шаблоны эмоциональных реакций – у человека есть «излюбленные» эмоции, которыми он реагирует на определенную ситуацию. Например, оказавшись в пробке, один человек чаще всего злится, другой обижается на жену, которая медленно собиралась, третий смеется, что опять «начальник его убьет»;
  • шаблонные повседневные действия – когда ты ездишь на работу одним и тем же маршрутом, выбираешь одни и те же места в общественном транспорте, покупаешь кофе в одной и той же кофейне;
  • шаблоны на уровне жизненных сценариев – в каких людей влюбляться, какую профессию выбирать, как относиться к деньгам, к воспитанию детей. Это шаблоны, которые определяют образ жизни.

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

Откуда берутся поведенческие шаблоны

Большинство шаблонов появляются у человека в детстве: вследствие воспитания, родительских установок, путем подражания взрослым, социального научения, общественных норм поведения. Поскольку у ребенка еще не сформировано критическое мышление, ему не свойственна избирательность. Он не может оценить, подходит ему тот или иной шаблон или нет, поэтому «берет» все, что получает. Но и во взрослом возрасте такое происходит.

Механизм выработки шаблона достаточно прост. Оказавшись в какой-то ситуации, человек на нее реагирует, то есть предпринимает какие-либо действия. Если они возымели должный эффект, он получает положительное подкрепление этой модели поведения. Мозг воспринимает ее как конструктивную и «рабочую», запоминает. Потом, оказавшись в аналогичной ситуации, активизируется уже сформированная нейронная сеть – человек поступает точно также, как и в прошлый раз.

Например, твой муж поздно пришел с работы. Ты обиделась на него. Это вызвало у него желание искупить свою вину, он извинился и подарил цветы. Ты почувствовала удовлетворение. А мозг поставил «галочку» – модель поведения сработала.

Психология простыми словами: паттерн поведения

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

Почему так трудно избавиться от шаблонов

Шаблоны помогают избегать чувства тревоги, которое возникает от неопределенности. Они говорят: «не надо паники, мы знаем, что с этим делать». Это помогает человеку оставаться в зоне психологического комфорта. Мозг стремиться к тому, чтобы минимизировать затраты ресурсов, поэтому не считает нужным тратить энергию на разбор ситуации, когда уже есть готовый ответ, то есть шаблон поведения в этой ситуации.

Они значительно упрощают жизнь, позволяя делать многие вещи и принимать решения автоматически, не тратя время и силы на лишние усилия. Так, пока ты едешь на работу по привычному маршруту, ты о нем не задумываешься и можешь в это время читать книгу, листать ленту, думать о работе и так далее. 

Влияние шаблонов на жизнь

Многие шаблоны бывают положительными, они облегчают жизнь. Но проблема в том, что ты не осознаешь, какие именно у тебя шаблоны. И не замечаешь тех, которые делают жизнь хуже. Обычно они настолько глубоко «вшиты» в человека, что можно не заметить, какое сильное негативное влияние они оказывают на его жизнь.

Особенно это касается родительских шаблонов:

  • когда женщина постоянно выбирает мужчин абьюзеров, потому что переняла шаблонную модель матери;
  • когда остается на нелюбимой работе, потому что есть родительская установка, что в их семье все юристы;
  • когда испытывает страх перед начальством и все время молчит, потому что «не шуми, когда взрослые разговаривают»;
  • когда кричит на своего ребенка и всегда его контролирует, поскольку также воспитывали и ее;
  • когда не может выйти на желаемый уровень дохода, потому что «не женское это дело» или «всех денег все равно не заработаешь»;
  • когда не может найти мужа, потому что «мужчинам доверять нельзя, они всегда уходят из семьи».

Шаблонное поведение может приносить пользу, но часто бывает деструктивным, поскольку каждая ситуация уникальна. Порой она требует творческого решения, инициативы. Поступая «по привычке», ты теряешь такую возможность, не видишь более продуктивные варианты, не замечаешь очевидного.

Как избавиться от шаблонного поведения

Выйти из замкнутого круга собственных шаблонов бывает достаточно трудно, особенно, если они уже давно укоренились в сознании, но это возможно. Для этого нужно осознать свои шаблоны – это серьезная работа по самоанализу:

  • обрати внимание на стереотипные ситуации, с которыми ты постоянно сталкиваешься;
  • проанализируй свое поведение в них и эмоциональные реакции. Ты заметишь, что поступаешь примерно одинаково;
  • подумай, как часто эта модель поведения приводила к желаемому результату;
  • найди причину такого поведения – когда ты «подцепила» этот шаблон, при каких обстоятельствах, на чьей пример ты опиралась, кому подражала;
  • вернись к стереотипной ситуации и придумай как еще можно на нее отреагировать, как вырваться из замкнутого круга, какие нестандартные выходы можно найти;
  • снова столкнувшись с этой ситуацией, вспомни, что она триггер для шаблонного поведения;
  • откажись от шаблона и сделай что-то по-другому.

Чем больше в твоей жизни будет осознанности, чем больше ты «выловишь» шаблонов, тем лучше будет качество жизни. Ты обретешь гармонию со своими потребностями, наладишь отношения с близкими, улучшишь материальное положение и перестанешь жить по однотипному сценарию.

20 практических занятий для дошкольников

  • Поделиться

  • Электронная почта

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

Почему узоры важны для дошкольников?

Изучение закономерностей является важным математическим навыком в раннем возрасте.

Дети начинают изучать узоры в окружающей среде или идентифицировать их по цветам и формам.

По мере взросления они могут замечать закономерности, когда, например, пропускают счет до трех, складывают или изучают умножение.

Позже они изучают сложные математические модели.

Образцы также встречаются в грамотности.

Слова и буквы состоят из узоров – как форм, из которых они состоят, так и звуков, которые они образуют (например, рифмующихся узоров).

Примерно с четырехлетнего возраста в детских рисунках начинают появляться первые узоры (см. этапы рисования).

Как вы обучаете дошкольников узорам?

Есть много способов познакомить дошкольников с концепцией паттернов, но лучший способ — через практический опыт и игру.

Чтобы узнать о закономерностях, дети должны сначала уметь анализировать информацию, понимать ее, определять закономерность, а затем продолжать или воссоздавать ее.

Конкретный опыт

Прежде чем знакомиться с рабочими листами по выкройке, детям необходимо много конкретного опыта, чтобы полностью понять концепцию.

Лучший способ для них изучить шаблоны и многие другие концепции — это использовать подход конкретно-графически-абстрактно .

Сначала они могут понять узор, манипулируя физическими объектами (например, блоками), а затем рассматривая изображение узора (например, фигуры).

Наконец, они учатся понимать абстрактные закономерности — например, составлять числовой узор.

Дошкольники, в основном, находятся на этапе бетонирования, поэтому им лучше всего даются практические занятия.

Конкретно-графический-абстрактный подход на самом деле отличный способ научить детей математике.

Узоры в окружающей среде

Первые узоры, которые дети видят, находятся в их окружении – узор на предмете одежды, узор на листе или узор на напольной плитке.

Указывайте на них всякий раз, когда вы их видите, объясняя, что это за узор.

Знакомые узоры

Затем дети узнают об узорах, используя знакомые понятия, такие как форма, цвет, размер, текстура, атрибуты и т. д. 

Позже они могут видеть закономерности в числах и словах.

Узоры по правилу

Объясните детям, что узоры следуют правилу и повторяются — например, у зебры черная полоса, затем белая полоса, затем набор повторяется.

Способы создания шаблонов

Когда вы впервые представляете шаблоны или просите детей следовать им, начните с простого правила в шаблоне A/B, например, один красный блок, один синий блок и т. д.

Также используйте только один свойство – например, образец цвета, размера, формы и т. д.

Позже вы можете использовать более сложные шаблоны (например, A/B/C или A/A/B) и смешивать свойства (например, цвет и форму).

Навыки, помогающие обучать построению паттернов

Когнитивные навыки, такие как сопоставление, сортировка и построение последовательности, помогут вашему ребенку усвоить и развить навыки построения паттернов.

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

Попросите детей сортировать и классифицировать во время игры или превратите работу по дому в игру.

20 простых заданий по выкройке для дошкольников

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

1. Собери поезд

Чтобы воспроизвести рисунок в натуральную величину, попросите детей сделать поезд из стульев, используя стулья двух разных цветов (красный стул, синий стул, красный стул, синий стул и т. д.)

Затем они могут сесть в поезд и притвориться, что едут кататься.

Или сделать паровозик с детьми самим. Попробуйте выкройку мальчика/девочки, блондинки/брюнетки или что-то еще, что вы можете придумать.

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

2. Шаблоны блоков

Простейшее действие шаблона можно выполнить с набором блоков.

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

Начните с простого шаблона A/B, а затем измените его — A/A/B, A/B/C, A/B/B и т. д.

Также измените свойства. Составьте узор из блоков, используя цвета, а затем различные формы (куб, прямоугольник, призма и т. д.) или размеры (большой блок, маленький блок и т. д.)

Вот еще способы узнать о цветах.

3. Выкройки фигур

Описанные выше действия с выкройками также можно выполнять с пластиковыми/деревянными формами или даже с вырезами из бумаги.

Попробуйте также эти действия по распознаванию форм.

4. Шаблоны бумажных тарелок

Используя простую бумажную тарелку и колышки разных цветов, попросите детей расположить колышки вокруг тарелки в определенном порядке.

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

5. Браслет из хлопьев

Используйте петельки из хлопьев (или что-то еще забавное и съедобное) и наденьте их на веревку в определенной последовательности (начните с двух цветов для маленьких детей).

Дети могут грызть их в течение дня, как только они закончат их и привяжут к запястьям.

6. Бусины

Бусины можно использовать разными способами для создания узоров.

  • Следуйте простому шаблону и нанижите бусины на нитку, шнурки для обуви или ершики для труб
  • Сделайте узор из ожерелья
  • Возьмите немного бумаги или картона и жидкий клей и сделайте узор, приклеив бусины по линии

7. Кнопки

Кнопки также являются универсальными предметами, которые можно использовать во многих образовательных целях.

Сделайте простые узоры, такие как:

  • Красная кнопка, желтая кнопка, повтор
  • Большая кнопка, маленькая кнопка, повтор
  • Круглая кнопка, квадратная кнопка, повтор

А для детей старшего возраста:

  • Красная кнопка, синяя пуговица, розовая пуговица, повтор
  • Две красные пуговицы, 1 желтая пуговица, повтор
  • Две большие пуговицы, одна маленькая пуговица, повтор

Старшие дошкольники также могут сделать ожерелье из пуговиц.

Вот 17 замечательных упражнений с кнопками для дошкольников.

8. Ожерелье из макарон

Как вариант изготовления ожерелья из бус или пуговиц, сделайте ожерелье из сушеных макарон.

Следуйте шаблону, основанному на форме, размере/длине макарон, или раскрасьте их в разные цвета, прежде чем нанизывать их по шаблону.

9. Узоры для хлопков

Поиграйте в игру, слушая узор.

Прохлопайте простую последовательность и попросите детей скопировать ее, аплодируя вам.

Вот несколько примеров:

  • хлоп – – хлоп – – хлоп
  • хлоп – – хлоп-хлоп – – хлоп
  • хлоп-хлоп – – хлоп

Варьируйте темп и количество хлопков.

10. Игры в хлопки

Традиционные игры в хлопки — отличный способ естественным образом выучить узоры.

Некоторые из них довольно сложные, поэтому научите младших дошкольников более простым последовательностям хлопков.

11. Разрывание бумаги 

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

Они не только изучат концепцию, но и потренируют мелкую моторику благодаря этой слезоточивой деятельности.

12. Пластиковые стаканчики

Возьмите пластиковые стаканчики разных цветов и сделайте из них узоры.

Или создать узор на основе материала стаканчиков – пластиковый стаканчик, бумажный стаканчик, повтор.

13. Природные узоры

Выйдите на улицу и соберите природные материалы — ветки, опавшие цветы и листья и т. д.

Нарисуйте простой узор — например, лист, цветок, лист, цветок — и попросите детей идентифицировать узор и следовать ему. .

Сделайте еще один шаг и приклейте элементы на бумагу, чтобы сделать коллаж.

14. Выпечка

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

Сделайте полоски глазури на кексах разных цветов или сделайте узоры из украшений.

15. Образцы движений

Сыграйте в игру, в которой дети будут следовать образцу движений, который вы демонстрируете.

Затем они могут продолжить паттерн и попытаться составить свои собственные последовательности движений.

Вот два примера:

  • Хлопайте, щелкайте, поворачивайтесь, повторяйте
  • Прыгайте, кивайте и поднимайте руки вверх

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

Используйте такие игры, как Саймон Сэйс, чтобы создавать закономерности.

16. Найдите закономерности в окружающей среде

Убедитесь, что вы замечаете и указываете на закономерности в окружающей среде — они повсюду.

Найдите их на одежде, во внутреннем дворике, на вашей любимой кошке и на полосатых листьях.

Вы даже можете пойти на прогулку по поиску закономерностей и предложить детям найти закономерности вокруг вас.

17. Песни и стишки

Хотя это может показаться странным выбором для занятия по моделированию, пение песен и чтение стихов и стишков — отличный способ для ребенка познакомиться со звуковыми моделями.

Они изучают ритм, рифму, слоги (доли в слове), ударение в песне, аллитерацию и т. д.

Бессмысленные рифмы прекрасно подходят для изучения рифмованных моделей.

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

18. Истории

Дети также могут узнавать закономерности, слушая истории.

Книги Джулии Дональдсон полны узоров — вспомните «Что слышала божья коровка», «Бумажные куклы» или «Груффало».

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

Через рассказы такого типа дети узнают, что существует последовательность событий, и начинают улавливать закономерность конкретной истории.

Другими примерами популярных историй, построенных по шаблонам, являются «Три поросенка», «Златовласка» и «Три медведя».

19.

Сортировка носков

Это может показаться слишком простым, но когда ваши дети еще совсем маленькие, попросите их найти подходящие пары носков или рассортируйте белье по стопкам.

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

Они также разовьют у вашего ребенка способность находить закономерности в вещах и узнавать, что предметы обладают разными качествами:

  • Эти носки большие, а те маленькие.
  • Этот носок с красными пятнами, поэтому он не соответствует носку с синими пятнами.
  • Топ с белыми и розовыми полосками.

20. Головоломки

Головоломки отлично развивают у ребенка зрительное восприятие, которое является важным навыком чтения.

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

Хотите свой собственный набор пазлов для печати? Загрузите их ниже!

Получите БЕСПЛАТНЫЙ доступ к печатным головоломкам, историям, наборам заданий и многому другому!

Присоединяйтесь к Empowered Parents +, и вы получите загружаемый набор из печатных головоломок, игр и рассказов , а также набор «Обучение через игру» , который включает целый год занятий для детей от 3 до 6 лет.
Бесплатный доступ навсегда.

Регистрация бесплатной учетной записи Grow выполняется быстро и легко и позволяет вам добавлять в закладки статьи для последующего чтения на этом веб-сайте, а также на многих веб-сайтах по всему миру, использующих Grow .

  • Поделиться

  • Электронная почта

Программирование на языке AWK — Шаблоны и действия

Программирование на языке AWK — Шаблоны и действия
Перейти к первому, предыдущему, следующему, последнему разделу, оглавлению.


Как вы уже видели, каждый оператор awk состоит из
шаблон со связанным действием. В этой главе описывается, как
вы строите шаблоны и действия.

  • Обзор паттерна: Что входит в паттерн.
  • Обзор действия: что входит в действие.

Шаблоны в awk контролируют выполнение правил: правило
выполняется, когда его шаблон совпадает с текущей входной записью. Этот
Раздел объясняет все о том, как писать шаблоны.

  • Виды узоров: Список всех видов узоров.
  • Шаблоны регулярных выражений: Использование регулярных выражений в качестве шаблонов.
  • Шаблоны выражений: В качестве шаблона можно использовать любое выражение.
  • Диапазоны: пары шаблонов определяют диапазоны записи.
  • НАЧАЛО/КОНЕЦ: Указание правил инициализации и очистки.
  • Пусто: Пустой шаблон, соответствующий каждой записи.

Виды рисунков

Вот сводка типов шаблонов, поддерживаемых в awk .

/ регулярное выражение /
Регулярное выражение как шаблон. Соответствует, когда текст
входная запись соответствует регулярному выражению.
(См. раздел Регулярные выражения.)
выражение
Одно выражение. Он совпадает, когда его значение
не равен нулю (если число) или не равен нулю (если строка).
(См. раздел Выражения как шаблоны.)
Пат1 , Пат2
Пара шаблонов, разделенных запятой, указывающая диапазон записей.
Диапазон включает в себя как начальную запись, которая соответствует pat1 , так и
последняя запись, соответствующая pat2 .
(См. раздел «Указание диапазонов записей с помощью шаблонов».)
НАЧАЛО
КОНЕЦ
Специальные шаблоны для запуска или очистки вашего компьютера.
9Программа 0331 awk .
(См. раздел Специальные шаблоны BEGIN и END . )
пустой
Пустой шаблон соответствует каждой входной записи.
(См. раздел Пустой шаблон.)

Регулярные выражения как шаблоны

Мы использовали регулярные выражения в качестве шаблонов, начиная с наших первых примеров.
Этот тип шаблона представляет собой просто константу регулярного выражения в части шаблона
правило. Его значение `$0 ~ / узор /.
Шаблон соответствует, когда входная запись соответствует регулярному выражению.
Например:

/foo|bar|baz/ {модные словечки++}
КОНЕЦ { печатать модные словечки, "увиденные модные словечки" }
 

Выражения как шаблоны

Любое выражение awk допустимо как шаблон awk .
Затем шаблон соответствует, если значение выражения не равно нулю (если
число) или ненулевое значение (если это строка).

Выражение пересчитывается каждый раз, когда правило проверяется на новом
входная запись. Если в выражении используются такие поля, как $1 ,
значение напрямую зависит от текста новой входной записи; в противном случае это
зависит только от того, что произошло до сих пор в исполнении
awk , но это все еще может быть полезно.

Очень распространенным видом выражения, используемым в качестве шаблона, является сравнение
выражение, используя операторы сравнения, описанные в
раздел Типизация переменных и выражения сравнения.

Соответствие и несовпадение регулярных выражений также являются очень распространенными выражениями.
Левый операнд 9Операторы 0425 `~’ и `!~’ представляют собой строку.
Правый операнд является либо постоянным регулярным выражением, заключенным в
косая черта ( / регулярное выражение / ) или любое выражение, строковое значение которого
используется как динамическое регулярное выражение
(см. раздел Использование динамических регулярных выражений).

В следующем примере печатается второе поле каждой входной записи.
чье первое поле точно равно `foo’ .

$ awk '$1 == "foo" { print $2 }' список BBS
 

(Нет вывода, так как нет сайта BBS с именем «foo».)
Сравните это со следующим совпадением регулярного выражения, которое
принять любую запись с первым полем, которое содержит `foo’ :

$ awk '$1 ~ /foo/ { print $2 }' список BBS
-| 555-1234
-| 555-6699
-| 555-6480
-| 555-2127
 

Логические выражения также часто используются в качестве шаблонов.
Будь шаблон
соответствует входной записи, зависит от того, совпадают ли ее подвыражения.

Например, следующая команда выводит все записи в
`BBS-list’, который содержит как `2400′ , так и `foo’ .

$ awk '/2400/ && /foo/' список BBS
-| фуи 555-1234 2400/1200/300 Б
 

Следующая команда печатает все записи в
`BBS-list’, который содержит либо `2400′ или `foo’ , либо
обе.

$awk '/2400/ || /foo/' список BBS
-| альпо-нет 555-3412 2400/1200/300 А
-| укусов 555-1675 2400/1200/300 А
-| фуи 555-1234 2400/1200/300 Б
-| фут 555-6699 1200/300 В
-| Макфу 555-6480 1200/300 А
-| sdace 555-3430 2400/1200/300 А
-| Сабафу 555-2127 1200/300 С
 

Следующая команда печатает все записи в
`BBS-list’, который содержит , а не , содержит строку `foo’ .

$ авк '! /foo/' список BBS
-| трубкозуб 555-5553 1200/300 B
-| альпо-нет 555-3412 2400/1200/300 А
-| барфлай 555-7685 1200/300 А
-| укусов 555-1675 2400/1200/300 А
-| камелот 555-0542 300 С
-| сердечник 555-2912 1200/300 С
-| sdace 555-3430 2400/1200/300 А
 

Подвыражения логического оператора в шаблоне могут быть постоянными и регулярными.
выражения, сравнения или любые другие выражения awk . Спектр
шаблоны не являются выражениями, поэтому они не могут появляться внутри логических
узоры. Аналогично, специальные шаблоны НАЧАЛО и КОНЕЦ ,
которые никогда не соответствуют какой-либо входной записи, не являются выражениями и не могут
появляются внутри логических шаблонов.

Константа регулярного выражения как шаблон также является частным случаем выражения
шаблон. /foo/ как выражение имеет значение один if `foo’
появляется в текущей входной записи; таким образом, в качестве шаблона /foo/
соответствует любой записи, содержащей `foo’ .

Указание диапазонов записей с шаблонами

Шаблон диапазона состоит из двух шаблонов, разделенных запятой, из
форма ` begpat , endpat . Он соответствует диапазонам
последовательные входные записи. Первая выкройка, бегпат , органы управления
где начинается диапазон, а второй, endpat , определяет, где
Это конец. Например,

awk '$1 == "включено", $1 == "выключено"'
 

печатает каждую запись между `вкл.’ / `выкл.’ пар включительно.

Шаблон диапазона начинается с сопоставления begpat
против каждой входной записи; когда запись соответствует begpat ,
шаблон диапазона становится включенным . Шаблон диапазона соответствует этому
записывать. Пока он остается включенным, он автоматически
входная запись прочитана. Это также соответствует endpat против
каждая входная запись; когда это удается, шаблон диапазона поворачивается
снова для следующей записи. Затем он возвращается к проверке
бегпат против каждой записи.

Запись, которая включает шаблон диапазона, и та, которая включает его
off оба соответствуют шаблону диапазона. Если вы не хотите оперировать
эти записи, вы можете написать , если утверждения в действии правила
чтобы отличить их от интересующих вас записей.

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

Например, предположим, что у вас есть текст между двумя одинаковыми маркерами (например,
символ `%’ ), который вы хотите игнорировать. Вы можете попытаться
объединить шаблон диапазона, описывающий текст с разделителями, с
следующий оператор
(еще не обсуждалось, см. раздел Заявление о следующем заявлении ),
что вызывает 9%$/ { пропустить = ! пропускать; следующий }
skip == 1 { next } # пропустить строки с установленным `skip’

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

эхо Да | авк '/1/,/2/ || /Да/'
 

Автор этой программы предполагал, что это будет означать `(/1/,/2/) || /Да/’ .
Однако awk интерпретирует это как `/1/, (/2/ || /Да/)’ .
Это нельзя изменить или обойти; паттерны диапазонов не сочетаются
с другими узорами.

НАЧАЛО и КОНЕЦ Специальные шаблоны

НАЧАЛО и КОНЕЦ — это специальные шаблоны. Они не привыкли
сопоставить входные записи. Скорее, они поставляют стартап или
Действия по очистке вашего сценария awk .

  • Использование BEGIN/END: Как и зачем использовать правила BEGIN/END.
  • Ввод-вывод и BEGIN/END: проблемы ввода-вывода в правилах BEGIN/END.
Действия по запуску и очистке

Правило BEGIN выполняется один раз перед первой входной записью.
был прочитан. Правило END выполняется один раз после всех
ввод прочитан. Например:

$ авк '
> BEGIN { print "Анализ \"foo\"" }
> /foo/ {++n}
> END { print "\"foo\" появляется " n " раз." }' BBS-список
-| Анализ «фу»
-| "foo" появляется 4 раза. 
 

Эта программа находит количество записей во входном файле «BBS-list».
которые содержат строку `foo’ . Правило BEGIN печатает заголовок
для отчета. Нет необходимости использовать правило BEGIN для
инициализировать счетчик n до нуля, как это делает awk
автоматически (см. раздел Переменные).

Второе правило увеличивает переменную n каждый раз, когда
читается запись, содержащая шаблон `foo’ . Правило КОНЕЦ
печатает значение n в конце прогона.

Особые узоры НАЧАЛО и КОНЕЦ нельзя использовать в диапазонах
или с булевыми операторами (действительно, их нельзя использовать ни с какими операторами).

Программа awk может иметь несколько BEGIN и/или END
правила. Они выполняются в порядке их появления, все НАЧАЛО
правила при запуске и все правила END при завершении.
Правила BEGIN и END могут смешиваться с другими правилами.
Эта функция была добавлена ​​в 1987 версия awk и входит
в стандарте POSIX. Первоначальная (1978 г.) версия awk
требовал, чтобы вы поместили правило BEGIN в начало
программу и правило END в конце, и разрешен только один из
каждый. Это больше не требуется, но это хорошая идея с точки зрения
организация и читабельность программы.

Несколько правил BEGIN и END полезны для написания
библиотечных функций, так как каждый библиотечный файл может иметь свои собственные НАЧАЛО и/или
КОНЕЦ правило для собственной инициализации и/или очистки. Обратите внимание, что
порядок, в котором библиотечные функции названы в командной строке
управляет порядком, в котором их правила BEGIN и END
казнен. Поэтому вы должны быть осторожны, чтобы написать такие правила в
библиотечных файлов, чтобы порядок их выполнения не имел значения.
See section Параметры командной строки, для получения дополнительной информации о
с помощью библиотечных функций.
См. раздел Библиотека из awk Функции,
для ряда полезных библиотечных функций.

Если программа awk имеет только правило BEGIN и никакое другое
правила, то программа завершает работу после выполнения правила BEGIN .
(Первоначальная версия awk использовалась для продолжения чтения и игнорирования ввода.
пока не будет виден конец файла.) Однако, если существует правило END ,
то ввод будет прочитан, даже если в нем нет других правил
программа. Это необходимо в случае, если КОНЕЦ правило проверяет
FNR и NR переменные (постоянный ток).

BEGIN и END правила должны иметь действия; нет по умолчанию
действие для этих правил, так как при их выполнении нет текущей записи.

Ввод/вывод из

НАЧАЛО и КОНЕЦ Правила

Есть несколько (иногда малозаметных) проблем, связанных с вводом-выводом.
из правила BEGIN или END .

Первый связан со значением $0 в НАЧАЛО
правило. Поскольку правила BEGIN выполняются до того, как любой ввод будет прочитан,
просто нет входной записи, а значит и полей, когда
выполнение BEGIN правил. Ссылки на $0 и поля
выдать нулевую строку или ноль, в зависимости от контекста. В одну сторону
чтобы дать $0 реальное значение, нужно выполнить команду getline
без переменной (see section Явный ввод с getline ).
Другой способ — просто присвоить ему значение.

Второй пункт аналогичен первому, но с другой стороны.
Каково значение $0 и NF внутри правила END ?
Традиционно, в основном из-за проблем с реализацией, $0 и
NF были undefined внутри правила END .
Стандарт POSIX указывает, что NF доступен в END .
правило, содержащее количество полей из последней входной записи.
Скорее всего, по недосмотру стандарт не говорит, что $0
тоже сохраняется, хотя по логике казалось бы, что так и должно быть.
Фактически, gawk сохраняет значение $0 для использования в
КОНЕЦ правил. Однако имейте в виду, что Unix awk и, возможно,
другие реализации, нет.

Третий пункт вытекает из первых двух. Каково значение
`напечатать’ внутри правила BEGIN или END ? Смысл
как всегда, `print $0′ . Если $0 является нулевой строкой,
то это печатает пустую строку. Много давних программистов awk
используйте `print’ в правилах BEGIN и END для обозначения
`print «»‘ , полагаясь на то, что $0 является нулевым. Хотя вы можете
вообще уйти с этим в BEGIN правил, в gawk at
по крайней мере, это очень плохая идея в правилах END . Это также плохо
стиль, так как если вы хотите, чтобы на выходе была пустая строка, вы
должен сказать это явно в вашей программе.

Пустой узор

Считается, что пустой (то есть несуществующий) шаблон соответствует каждые .
входная запись. Например, программа:

awk '{ print $1 }' список BBS
 

печатает первое поле каждой записи.

Программа или сценарий awk состоит из ряда
правила и определения функций, чередующиеся. (Функции
описано позже. См. раздел Пользовательские функции.)

Правило содержит шаблон и действие, любое из которых (но не
оба) может быть
опущено. Цель действие сказать awk что делать
как только будет найдено совпадение с образцом. Таким образом, в общих чертах, awk
программа в общем выглядит так:

[  шаблон  ] [{  действие  }]
[  шаблон  ] [{  действие  }]
...
функция  имя  (  аргументы  ) { . .. }
...
 

Действие состоит из одного или нескольких операторов awk , прилагаемых
в фигурных скобках ( `{‘ и `}’ ). Каждое утверждение указывает один
вещь, которую нужно сделать. Операторы разделяются символами новой строки или
точки с запятой.

Фигурные скобки вокруг действия должны использоваться, даже если действие
содержит только один оператор, или даже если он не содержит операторов в
все. Однако, если вы полностью опускаете действие, опускайте фигурные скобки, как
хорошо. Пропущенное действие эквивалентно `{ print $0 }’ .

/foo/ { } # соответствует foo, ничего не делать - пустое действие
/foo/ # найти foo, вывести запись - действие пропущено
 

Вот типы операторов, поддерживаемые в awk :

  • Выражения, которые могут вызывать функции или присваивать значения переменным.
    (см. раздел Выражения). выполнение
    оператор такого типа просто вычисляет значение выражения.
    Это полезно, когда выражение имеет побочные эффекты
    (see section Выражения присваивания).
  • Операторы управления, которые определяют поток управления awk
    программы. Язык awk дает вам C-подобные конструкции
    ( вместо , вместо , при и вместо ), а также несколько
    специальные (see section Операторы управления в действиях).
  • Составные операторы, состоящие из одного или нескольких операторов, заключенных в
    Фигурные скобки. Составной оператор используется для того, чтобы поставить несколько
    операторы вместе в теле , если , , а , сделать
    или для выписки .
  • Операторы ввода с помощью команды getline
    (см. раздел Явный ввод с getline ), следующий
    выписка (см. раздел следующая выписка ),
    и оператор nextfile
    (см. раздел Заявление nextfile ).
  • Операторы вывода, print и printf .