Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
 
#File: test.awk
#Usage: awk -f test.awk input.dsl >output.dsl
#Инициализация переменных. word - текущее слово, data - его описание.
BEGIN {FS="";word="";data="";}
 
#Если строка пустая или начинается с "#" - печатает то, что было раньше и ее. (next - перейти к следующей строке в файле)
$0 ~ /^#|^$/ {checkworddata();print $0;next;}
#Если строка начинается с пробела или табуляции - сохраняет ее в переменную data.
$0 ~ /^[ \t]/{data = ((data=="")?"":data RS) $0;next;}
#Если строка начинается не с пробела или табуляции - проверяет прошлое слово и начинает работу с этим словом.
$0 ~ /^[^ \t]/{checkworddata();word=$0;data="";next;}
 
#В конце файла - проверить последнее слово.
END {checkworddata();}
 
#Проверка слова
function checkworddata() {
#Если слова нет - ничего не делать
  if (word == "") return;
#Если слово начинается с заглавной латиницы - ничего не делать
  if (word ~ /^[A-Z]/) return;
#Если в опиcании встречается "]abbr" - ничего не делать (возможно, аббривеатура?)
  if (data ~ /\]abbr/) return;
#Ничего из вышеперечисленного - печатать и слово и описание.
  print word;print data;
}

Всего записей: 1883 | Зарегистр. 07-08-2002 | Отправлено: 10:42 02-10-2019 | Исправлено: Alex_Piggy, 10:42 02-10-2019
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Регулярные выражения


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru