Sun in Moscow
Pavel Anni
Архив
« Декабрь 2009
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
       
Сегодня
Click me to subscribe
Search

Связи
 

Хиты страниц за сегодня: 9

« Фраза про наши серве... | Main | Эко-компьютинг »
воскресенье дек 02, 2007
Порох в пороховницах


Чтоб совсем мозги не засыхали, надо иногда их разминать. Особенно будучи директором по маркетингу.

Приехала жена из поездки в Китай, привезла тысяч пять фоток. Лежат на диске в виде 100NCD80 или 103NCD80 и т.д. Надо как-то упорядочить.

Сначала на них на всех напустил программу renrot (переименовывает и поворачивает фотки):

$ for d in Roll* ; do echo "$d" ;  cd "$d";   renrot -n %Y-%m-%d_%H-%M-%S-%c *JPG; cd ..; done

Теперь надо разложить их все по директориям по дням. Сначала создал директории (с 1 по 9 ноября):

i=1 ; for ((i; i<=9; i++)) ; do mkdir "2007-11-0$i"; done

А потом надо скопировать из каждой 100NCD80 и им подобных:

$ cd ../101NCD80-1
$ i=0 ; for ((i; i<=9; i++)) ; do mv "2007-11-0$i"* ../"2007-11-0$i" ; echo "Next day" ; done

После таких трудов надо было все-таки посчитать, сколько таки фоток получилось в директориях, не потерялись ли где нибудь.

$ for d in 2007* ; do  ls $d | wc ; done | awk '{print $1}' | xargs ~/sum.sh 

Может, я что-то пропустил, но, по-моему, нет стандартной программы, которая бы просто выдавала сумму аргументов.  Пришлось написать sum.sh:

#!/bin/bash
sum=0
for i in $*; do echo $i ; sum=$((sum))+$((i)) ; done
echo $((sum))

Я все правильно сделал?

Posted at 12:19AM дек 02, 2007 by panni in Geek  |  Комментарии[2]

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

гораздо проще посчитать кол-во файлов
$ find 2007* -type f | wc -l
isn't it?

опубликовал pomah Декабрь 02, 2007 at 05:21 PM MSK #

И то верно! И быстрее работает.
Как-то я забываю использовать find кроме как по прямому назначению.
Я ж все таки в маркетинге, мне простительно :-)

опубликовал panni Декабрь 02, 2007 at 06:42 PM MSK #

Опубликовать комментарий:
Комментарии запрещены.