Как установить шаг настройки NTP (какой модуль)? и как запросить?

Следующий awk сценарий прочитает файл данных и временно сохранит каждую запись в переменной lines. Если в записи найдено ключевое слово из переменной word, то переменная do_output устанавливается в 1 (true). Когда ключевое слово найдено и мы либо достигаем следующей записи, либо конца файла, запись с ключевым словом выводится.

#!/usr/bin/awk -f

/^"GRP_START"/ {
    if (do_output) {
        exit;
    }
    lines = $0;
    next;
}

$0 ~ word {
    do_output = 1;
}

{
    lines = sprintf("%s\n%s", lines, $0);
}

END {
    if (do_output) {
        print lines;
    }
}

Тестирование:

$ awk -v word="MOOM" -f script.awk basefile.txt
"GRP_START","LINE1"........
"E"
"F"
"G"
"C--MOOM"

Затем просто перебираем нужные ключевые слова:

#!/bin/sh

while read -r word; do
  awk -v word="$word" -f script.awk basefile.txt
done <keywords.txt >finalfile.txt

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

0
26.06.2015, 17:56
0 ответов

Теги

Похожие вопросы