Одно строчные скрипты.

Дата | 15.04.2016

Всем привет, решил реализовать запись на пять коротких, одно строчных команд/скриптов.
Может кому и понадобится.
Поиск по двум условиям, Апрель 14 и 15 числа.
а так же добавляем к уже выбранному нами результату, третье условие размер 5826.
Получает 2402 файлов.

# la -al /usr/local/www/web/upload/234/ | egrep "Apr (15|14)" | grep "5826" | wc -l
    2402

Удаляем найденные файлы.

# la -al /usr/local/www/web/upload/234/ | egrep "Apr (15|14)" | grep "5826" | xargs  rm -rf --

Поиск по нескольким переменным.

# ls -l | awk '{print $5 " " $9}' | grep -e '^.... .*' | grep -e '^.*65.* ' | awk '{print $2}'

или
…. — это 4ре любых символа , а в нашем случае цыфры ([0-9]{1,4})
(4|5) — ищем 4 и 5 месяцы
^.*81.* — ^ начало, любой символ, 0 или больше раз, что ищем (81), 0 или больше раз, любой символ

# ls -l /usr/local/www/test.local.local/web/upload/234 | egrep '.... ([0-9]{1,4}) Apr  (4|5)' | grep -e '^.*81.* '

Как понадобилось мне вытащить из базы все мобильные телефоны и почтовые адреса для рассылки.
Решил рекурсивно из файлового бэкапа базы данных вытянуть нужные данные.
Почтовые адреса.

# egrep -o "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}" /mnt/base.sql > /mnt/mail.txt

Мобильные телефоны.

# egrep -o "\+7[0-9]{10}" /mnt/base.sql > /mnt/tel.txt

* – Любое количество повторяющихся символов/набора, в том числе и нулевое.
+ – Один или больше количество экземпляров символа/набора.
Точка (.) соответствует любому символу.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *