иеромонах Ефрем (Калинин) (am_kalinin) wrote in ru_shell,
иеромонах Ефрем (Калинин)
am_kalinin
ru_shell

Поиск совпадений в тексте

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

=======script.sh========================

#!/bin/bash
#
## usage: script.sh book_file key_word1 [key_word2 key_word3 ...]

awk '/'$2'/&&/'$3'/&&/'$4'/&&/'$5'/&&/'$6'/&&/'$7'/ {print NR "|" $0}' $1 | pager

#
# Найденные параграфы, содержащие искомые слова пронумерованы.
# Когда мы нашли что-то заинтересовавшее нас, мы можем, выйдя из pager'а
# ввести номер этой строки, на что получим фрагмент из исходной книги,
# начинающийся пятью строками раньше найденной строки, а заканчивающийся
# пятью строками после найденной строки
#

echo -----------------------
echo Какой вариант раскрыть подробней?; read NUM
cat $1 | sed -n ''$(($NUM-5))','$(($NUM+5))'p' | pager

==============================================

а какие еще есть способы сделать то же самое?
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

  • 11 comments