Новые книги

Конечно, коммерческий трафик очень крут: вы повышаете свои продажи, нанося точечный удар по пользователям, которые интересуются услугами и товарами вашей тематики. А если мы скажем вам, что вы забрали лишь кусочек от целого торта? Клиенты с коммерческого трафика – не предел ваших возможностей в сети.
Книга, которую вы держите в руках, предназначена для обучения широкого круга специалистов ведению кадрового учета на компьютере. Она будет полезной и интересной как руководителю кадровой службы крупной корпорации, так и сотруднику, отвечающим за работу с персоналом на небольшой фирме. Вначале мы вспомним теоретические основы кадрового учета (цели и задачи кадрового учета, термины и понятия, и т.д.), после чего вашему вниманию будет предложено описание нескольких наиболее популярных программных средств.

Команды поиска GREP и FIND


Команды поиска GREP и FIND

Команда grep/egrep
"фильтрует" строки - оставляя только "подходящие" под шаблон

    egrep шаблон  [ file ... ]

В шаблон могут входить обыкновенные символы (представляющие сами себя, а так же - спецсимволы, выполняющие служебные функции шаблона: . * ^ $ [ ]

. - любой произвольный символ
* - "множитель" (предыдущий символ любое число раз)
.* - любая последовательность символов
^шаблон - привязываем шаблон к началу строки
шаблон$ - привязываем шаблон к концу строки
[символы] - ровно один символ из тех, что стоит в скобках

Вывести всех привелигированных пользователей:

    egrep ':0:0:' /etc/passwd

Вывести всех непривелигированных пользователей:

    egrep -v ':0:0:' /etc/passwd

Вывести всех пользователей, имена которых начинаются с букв a,b,e,d

    cat /etc/passwd | grep "^[abed].*"

Команда find

find рекурсивно обходит указанные каталоги и файлы, проверяет для них выполнение указанных условий, и может вдобавок выполнять с найденными файлами указанные действия. Например самое простое действие - распечатать имя файла.

    find   файл [ ... ]   ключи/условия/действия

Ключи-условия команды find:

-name "*.c" - простое имя подходит под шаблон *.c
-type f - брать только обыкновенные файлы
-type d - брать только каталоги
-size +500 - файлы размером БОЛЬШЕ 500*512 байт
-mtime -3 - дата модификации МЕНЬШЕ 3-х дней
-newer filename - дата модификации нашего файла МЕНЬШЕ чем у заданного файла filename

ВНИМАНИЕ: Команда find использует стандартные SHELL'овские шаблоны. Команда grep использует шаблоны другого формата, называемые регулярными выражениями.

Ключи-действия команды find

  • -print - просто распечатать маршрутное имя файла
    -exec команда над файлом {} \; - выполнить команду над файлом

Примеры

Напечатать имена всех обыкновенных Си-шных файлов, изменившихся за последние 4 дня в текущем каталоге и его подкаталогах.

    find . -type f -mtime -4 -print

Уничтожить все файлы с окончаниями *.bu, *%, которые не менялись больше месяца.

    find   / \( -name "*.bu" -o -name "*%" \) -type f    \
    -atime +30 -exec  rm  {} \;

запись "rm {} \;" - обозначает команду Unix, которая будет выполняться для всех таких найденных файлов. Вместо значка "{}" будет подставляться каждый раз имя найденного файла. Естественно, что таким образом мы их все и уничтожим.

[Назад] [Содержание] [Вперед]