среда, 4 июня 2014 г.

Скриптом по былокодерам! (про поиск файлов)

Вынужден заметить, что вне KDE ситуация с поиском по файлопомойке (в которую с течением времени неизбежно превращается домашняя папка) сложилась плачевная. В консоли впрочем все Ок, но мне почему-то вместо строк в терминале приятнее видеть миниатюры файлов, в которые можно банально_тыкнуть_мышкой. В итоге было решено даже не парится со всякими gnome-search-tool`ами, catfish`ами и прочим непотребством, а написать свой православный скрипт. Сначала думал сделать на Gtk2-perl, поскольку создавать GUI там просто и приятно, но лень как всегда перевесила, поэтому решено было остановиться на bash+locate. Работает как с параметром "-gtk", так и просто в терминале, но результаты поиска - всегда в любимом файл-менеджере ;)


#!/bin/bash
# Использование: -gtk [sdir]
# или:     sstring [sdir]
tmpd=/home/$USER/.ff-tmp 
mkdir $tmpd 2>/dev/null
rm $tmpd/* 2>/dev/null
if [ $1 = "-gtk" ]
then
 sstring="$(yad --entry --entry-label="Что искать?")"
 # https://code.google.com/p/yad/
 sdir="$2"
else
 sstring="$1"
 sdir="$2"
fi
if [ ${#sstring} -lt 2 ]
then 
 echo 'Поисковый запрос должен содержать больше 2х символов!'
 exit 1
fi
if [ ! -d "$sdir" ]
then sdir=/home/$USER
fi
locate -i "$sstring" | head -20 | grep $sdir | while read line
do
 ln -s "$line" $tmpd/"$(basename "$line")"
done 
xdg-open $tmpd
exit

0 коммент. :

Отправить комментарий

Следующее Предыдущее Главная страница

Blogger Template by Blogcrowds