Использование peco для фильтрации команд и логов

Практические лайфхаки для разработчиков, DevOps и админов: Docker, Linux, Bash, Python, Golang, Ansible, логи и безопасность — только рабочие решения. Даем готовые команды, конфиги и приёмы диагностики, которые экономят часы и дни. Если нужно быстро настроить, отладить и обезопасить инфраструктуру — вы по адресу.

pecobashlinux

ℹ️ peco — это интерактивный фильтр для командной строки, который позволяет быстро искать, фильтровать и просматривать большие объемы текста. Он идеально подходит для работы с логами, выборки команд из истории, а также для использования в скриптах.

🖥 1. Установка peco:

sudo apt install peco  # Для Debian/Ubuntu
brew install peco       # Для macOS

📂 2. Пример использования:

  • Хотите быстро найти команду из истории? Просто выполните:
history | peco

ℹ️ Это откроет интерактивный интерфейс, где можно искать команды по ключевым словам и сразу же выполнять их.

  • ‣ Работа с логами: если логи накапливаются большими объемами и просматривать их тяжело, можно воспользоваться peco:
cat /var/log/syslog | peco

ℹ️ Введите интересующее слово, и peco покажет только те строки, где оно встречается. Это удобнее, чем grep, так как фильтрацию можно уточнять в реальном времени.

👨‍💻 3. Применение в скриптах:

peco отлично интегрируется в скрипты, делая их интерактивными. Например, для выбора файла:

FILE=$(ls | peco)
echo "Вы выбрали файл: $FILE"

ℹ️ Это позволяет запрашивать у пользователя выбор файла или директории без лишних вопросов.

👨‍💻 4. Автоподстановка из истории команд:

Добавьте в ~/.bashrc или ~/.zshrc следующую функцию:

function h() {
  BUFFER=$(history | peco | awk '{$1=""; print $0}')
  CURSOR=$#BUFFER
  zle reset-prompt
}
zle -N h
bindkey '^R' h  # Используйте Ctrl+R для вызова

❕ Теперь по нажатию Ctrl+R вы сможете найти команду из истории с помощью peco и сразу вставить её в терминал.

✳️ Это утилита может здорово упростить вашу работу, если часто приходится разбираться с логами, длинными историями команд или большими файлами конфигурации. peco — отличный инструмент для тех, кто любит минимализм и удобство в командной строке.

tags: #полезно #bash #linux

🧭 @recura_tech

Скриншот терминала с примером интеграции peco: функция автоподстановки истории и привязка Ctrl+R на тёмном окне терминала на зелёном фоне.
Пример функции для интеграции peco в оболочку и вызова историй через Ctrl+R.

Читайте так же