search="whatyouwant";data=$(grep "$search" * -R --exclude-dir=.svn -B2 -A2);for((i=$(echo "$data" | wc -l);$i>0;i=$(($i-6)) )); do clear;echo "$data"| tail -n $i | head -n 5; read;done
Эта команда ищет текст, соответствующий заданному шаблону (в данном случае, «whatyouwant»), во всех файлах и поддиректориях текущего каталога, и выводит результаты по одному за раз. Она использует grep
для поиска, а затем цикл for
для пошагового вывода результатов, позволяя пользователю просматривать каждое совпадение по мере нажатия клавиши Enter. Аргументы команды включают исключение папки .svn
, опции -B2 -A2
для вывода двух строк перед и двух строк после каждого совпадения, и использование clear
для очистки экрана между отображением результатов. Альтернативой может быть использование grep
без цикла для вывода всех результатов сразу.