иеромонах Ефрем (Калинин) (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

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

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

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 11 comments