понедельник, 19 ноября 2007 г.

Несколько небольших советов

1. Отображение русских имен файлов на Samba ресурсах
Чтобы konqueror и nautilus нормально отображали файлы с русскими именами, когда вы просматриваете расшаренные на Windows машинах папки, нужно в /etc/samba/smb.conf в секцию [global] прописать следующие строки:
dos charset = 866
unix charset = utf8
display charset = LOCALE
Примечание: изменения могут не сразу вступить в силу. К примеру в случае с nautilus'ом мне для этого пришлось убить gnome-vfs-daemon.

2. Поиск строки в большом количестве текстовых файлов
У меня довольно часто бывает ситуация, когда в какой-то папке (или в целом дереве папок) лежит куча текстовых файлов, и нужно найти, где и в каких файлах встречается нужная мне строка. В качестве файлового менеджера я использую rox, который не предоставляет таких возможностей.

Поэтому в ~/.bashrc у меня есть следующая строка:
alias my_search='grep -EHnr --color'
И теперь, если я, к примеру, хочу найти в куче исходных файлов, находящихся в дирректории src, все строки, в которых используется функция lstat, то я выполняю команду
my_search lstat src
которая просмотрит все файлы в дирректории src и во вложенных в нее папках и выдаст примерно следующий вывод:
Как видите, команда выдала мне имя файла, номер строки, в которой встречается искомая подстрока и еще плюс ко всему подсветила найденную подстроку. Также в качестве искомой строки может выступать регулярное выражение. Что еще может быть нужно от подобной команды? :)

3. Раскрашивание вывода gcc
Вам знакома следующая ситуация? Вы компилируете свое приложение, make выдает на экран кучу информации, и вдруг - ошибка. Не всегда ошибка выводится последней, а если говорить о предупреждениях, которые вы хотите устранить, то для того, чтобы их отловить, вам придется прочесывать весь вывод make.

Выход есть! :) И имя ему colorgcc. Это perl скрипт, который пропускает через себя вывод gcc и окрашивает его разными цветами (ошибки одним цветом, предупреждения - другим), которые, естественно, можно настроить под себя.
Для работы данного скрипта необходимо прописать в $PATH дирректорию, которая будет содержать символические ссылки с именами gcc, g++ и т. д., ссылающиеся на /usr/bin/colorgcc. Причем необходимо, чтобы эта дирректория упоминалась в $PATH раньше /usr/bin/, в которой лежат "настоящие" gcc и g++. Если вы это сделаете, то теперь при запуске, g++ у вас фактически будет запускаться colorgcc. По имени программы (gcc, g++ и т. п.) она оперделит, какой компилятор требуется запустить, запустит его и раскрасит его вывод.

Комментариев нет: