Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Saler Гость
|
Добавлено: Ср Мар 12 2003 15:46 Заголовок сообщения: посоветуйте с bash |
|
|
Есть папка, в ней много файлов (1000 - 25000шт), надо бы сканировать эту папку на файлы у которых определенная дата модификации. я сделал это так: find /path/to/dir/ -type f -mtime 1, то есть находит за последние сутки. А хотелось бы, чтобы можно было оперировать с этой датой, ввожу дату допустим в формате 12-03-2002 (date +%d-%m-%Y) и он мне ищет нужные мне файлы ну и куда нить их выводит... можно попробовать из ls выдрать дату как нить... какие будут предложения? |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Ср Мар 12 2003 15:58 Заголовок сообщения: 'ls -l' и фильровать программой grep (-) |
|
|
- |
|
Вернуться к началу |
|
|
Saler Гость
|
Добавлено: Ср Мар 12 2003 16:18 Заголовок сообщения: Re: а что grep указывать в качестве параметров? |
|
|
ls -alT | grep ?? а как именно дату выдирать и потом мне надо сравнить текущую дату с датой которую выводит ls.... |
|
Вернуться к началу |
|
|
MF_FLIP Гость
|
Добавлено: Ср Мар 12 2003 17:06 Заголовок сообщения: Re: а что grep указывать в качестве параметров? |
|
|
# ls -alT total 2900 drwxr-xr-x 2 mf_flip staff 1024 7 мар 16:49:43 2003 . drwxrwx--- 5 mf_flip staff 512 7 мар 18:28:35 2003 .. -rw-r--r-- 1 mf_flip staff 170332 28 фев 15:44:25 2003 auquagrape-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 95859 28 фев 15:53:03 2003 binaural-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 127713 28 фев 15:56:33 2003 bluemarble_-0.53.0.tar.gz -rw-r--r-- 1 mf_flip staff 136790 28 фев 15:55:28 2003 bluenight_-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 814046 28 фев 16:04:21 2003 bluesuni-0.51.2.tar.gz -rw-r--r-- 1 mf_flip staff 561924 28 фев 16:09:56 2003 bsdhendrix-default-0.1.tar.gz -rw-r--r-- 1 mf_flip staff 244501 28 фев 15:20:11 2003 cyberglasscat-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 178280 7 мар 16:11:39 2003 freebsdtheme-0.52.tar.gz -rw-r--r-- 1 mf_flip staff 197758 28 фев 15:21:02 2003 giraffe-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 52747 28 фев 15:18:50 2003 grassaftertherain-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 152002 7 мар 16:13:34 2003 secure_bsd-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 62947 7 мар 16:22:30 2003 unixos-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 61648 28 фев 15:17:50 2003 where-default-0.2.tar.gz
# ls -alT | grep "28 фев" -rw-r--r-- 1 mf_flip staff 170332 28 фев 15:44:25 2003 auquagrape-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 95859 28 фев 15:53:03 2003 binaural-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 127713 28 фев 15:56:33 2003 bluemarble_-0.53.0.tar.gz -rw-r--r-- 1 mf_flip staff 136790 28 фев 15:55:28 2003 bluenight_-0.60.0.tar.gz -rw-r--r-- 1 mf_flip staff 814046 28 фев 16:04:21 2003 bluesuni-0.51.2.tar.gz -rw-r--r-- 1 mf_flip staff 561924 28 фев 16:09:56 2003 bsdhendrix-default-0.1.tar.gz -rw-r--r-- 1 mf_flip staff 244501 28 фев 15:20:11 2003 cyberglasscat-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 197758 28 фев 15:21:02 2003 giraffe-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 52747 28 фев 15:18:50 2003 grassaftertherain-default-0.2.tar.gz -rw-r--r-- 1 mf_flip staff 61648 28 фев 15:17:50 2003 where-default-0.2.tar.gz |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Ср Мар 12 2003 17:31 Заголовок сообщения: Да, а если "28 фев" встетится в имени файла? |
|
|
Там нужно выбрать поле. IMHO, надо использовать шаблон [^[:spaces:]]+[[:spaces:]]+ повторенный нужное число раз; перед ним надо поместить ^ (начало строкИ), после него - "28 фев"... короче, муторно это, на Perl проще будет... |
|
Вернуться к началу |
|
|
Saler Гость
|
Добавлено: Ср Мар 12 2003 17:38 Заголовок сообщения: Спасибо такую фичу я тоже попробовал, НО |
|
|
Но мне надо еще чтобы год вытаскивать...... как пропустить hh:mm:ss и указать еще год.... пробовал различные подстановочные символы типа \? \+ \*,но если я после них что нибудь пишу то он вообще ничего не выдаёт |
|
Вернуться к началу |
|
|
MF_FLIP Гость
|
Добавлено: Ср Мар 12 2003 18:29 Заголовок сообщения: кажется вот так, но (+) |
|
|
... Dmitry.Karpov 12-03-2003 прав. Не подумал я об этом ls -alT | grep "28 фев"..........2003 |
|
Вернуться к началу |
|
|
Saler Гость
|
Добавлено: Ср Мар 12 2003 18:57 Заголовок сообщения: всем спасибо |
|
|
вариант с grep "28 фев"..........2003 работает вроде нормально....но с форматом всё таки потом надо будет что то придумать и с полями ls разобраться чтобы grep действительно смотрел на нужные поля а не на всю строку... Ёще раз всем 10х |
|
Вернуться к началу |
|
|
Valera Гость
|
Добавлено: Чт Мар 13 2003 04:25 Заголовок сообщения: используй ls -l | awk гораздо удобнее с полями работать или перл, там можешь делать с ними ну что хочешь (+) |
|
|
мой примерчик, выводит содержимое почтовых ящиков echo 'Mailbox summary:' ls -l /var/mail | awk '$5>0 {printf "%16s%12d\n",$3,$5;}' | sort -u -k 2 -n -r |
|
Вернуться к началу |
|
|
Saler Гость
|
Добавлено: Чт Мар 13 2003 12:54 Заголовок сообщения: спасибо бум пробовать...надо awk поучить |
|
|
10х |
|
Вернуться к началу |
|
|
|