![]() |
![]() |
![]() |
|
Подскажите скрипт по "пустой папке" | ☑ | ||
---|---|---|---|---|
0
IVIuXa
26.11.09
✎
07:38
|
linux
как реализовать если папка не пустая, то выполнить скрипт ? |
|||
1
Капитан Очевидность
26.11.09
✎
08:39
|
|
|||
2
Asdef
26.11.09
✎
08:40
|
(1) а как во фри бсд ?
|
|||
3
Капитан Очевидность
26.11.09
✎
08:41
|
(2) это я на фре и проверял. Это sh, он везде одинаковый
|
|||
4
Капитан Очевидность
26.11.09
✎
08:42
|
так-то
зы совсем забыл |
|||
5
IVIuXa
26.11.09
✎
08:52
|
(4)
псибки ща проверю ;) |
|||
6
Fragster
гуру
26.11.09
✎
08:56
|
-a забыл
|
|||
7
Fragster
гуру
26.11.09
✎
08:56
|
а то вдруг там скрытые файлы
|
|||
8
Fragster
гуру
26.11.09
✎
08:57
|
тока отгда надо 2 отнимать
|
|||
9
Fragster
гуру
26.11.09
✎
08:58
|
а вот с «-A» . и .. не показывает, то, что нужно
|
|||
10
IVIuXa
26.11.09
✎
09:19
|
(9)
есть вариант - до первого встреченного файла ? а то их как бы ооочень много ? |
|||
11
Fragster
гуру
26.11.09
✎
09:21
|
не понял?
|
|||
12
IVIuXa
26.11.09
✎
09:22
|
ну например по идее зачем ls весь ?
достаточно что хоть один файл есть - условие должно сработать, а то пока весь ls выйдет - секунды 3 пройдет |
|||
13
IVIuXa
26.11.09
✎
09:24
|
+(12)
а если нужно 3000 папок проверить на пустоту ? ну это я так - к примеру |
|||
14
Fragster
гуру
26.11.09
✎
09:32
|
hasfiles=0
for i in ~/* do hasfiles=1 break done echo $hasfiles |
|||
15
IVIuXa
26.11.09
✎
09:34
|
(14)
во то что доктор прописал :) |
|||
16
Fragster
гуру
26.11.09
✎
09:37
|
а лучше
#!/bin/bash hasfiles=0 if [ -d $1 ] then for i in $1/* do echo $i hasfiles=1 break done fi echo $hasfiles тока все равно на скрытые файлы забивает |
|||
17
IVIuXa
26.11.09
✎
10:01
|
(16)
нарыл команду test ;) if test -e /нужный_каталог; then echo "1"; else echo "0"; fi; скрытые тоже видит ;) |
|||
18
Fragster
гуру
26.11.09
✎
10:02
|
нифига. это проверка наличия самого /нужный_каталог
|
|||
19
Fragster
гуру
26.11.09
✎
10:02
|
по крайней мере в мане так написано
|
|||
20
Fragster
гуру
26.11.09
✎
10:04
|
кстати, «[ -d $1 ]» - это «test -d $1»
|
|||
21
IVIuXa
26.11.09
✎
10:05
|
(18)
ну да точно |
|||
22
IVIuXa
26.11.09
✎
10:08
|
ну как то ведь скрытые файлы нащупывают ?
|
|||
23
IVIuXa
26.11.09
✎
10:19
|
(16)
чет скрипт не работает ;( |
|||
24
Fragster
гуру
26.11.09
✎
11:50
|
(23) вызывается как
./имяскрипта папка |
|||
25
Fragster
гуру
26.11.09
✎
11:50
|
ну и +x скрипту добавить не помешает
|
|||
26
Fragster
гуру
27.11.09
✎
15:18
|
кастую smaharbA в эту ветку! (сам что-то
найти не могу про обход скрытых файлов) |
|||
27
smaharbA
27.11.09
✎
18:30
|
(26) -a
или не то ? |
|||
28
Fragster
гуру
27.11.09
✎
18:33
|
(27) таки не то...
|
|||
29
Fragster
гуру
27.11.09
✎
18:34
|
покрайней мере не так:
for i in $1/* -a |
|||
30
smaharbA
27.11.09
✎
18:34
|
так пойдет ?
find . -type f | while read; do echo $REPLY; break; done |
|||
31
smaharbA
27.11.09
✎
18:35
|
+(30) во фри нет РЕПЛИ
|
|||
32
Fragster
гуру
27.11.09
✎
18:35
|
(30) косяк тот же, что и в
ls -A | wc -l если файлов дофига - тупит |
|||
33
smaharbA
27.11.09
✎
18:38
|
(32) не ткпит, файнд последователен
|
|||
34
smaharbA
27.11.09
✎
18:38
|
лс выводит по завершению, файнд по мере
|
|||
35
Fragster
гуру
27.11.09
✎
18:39
|
(34) ага, тока как его грохнуть после первого вывода? городить потоки?
|
|||
36
smaharbA
27.11.09
✎
18:42
|
(35) см (30) это не фор
|
|||
37
smaharbA
27.11.09
✎
18:42
|
но наколоться можно на некоторые особенности
|
|||
38
Fragster
гуру
27.11.09
✎
19:05
|
ога, так типа работает. что за особенности?
|
|||
39
smaharbA
27.11.09
✎
19:24
|
(38) что с наруже цикла то не есть что снутре и обратно
но можно и это асилить |
|||
40
Garlic
27.11.09
✎
19:47
|
Забыл уже всё, может так?
#!/bin/bash FILE="" DIR="/tеmp" if [ "$(ls -A $DIR)" ]; then echo "$DIR is not empty " else echo "$DIR is empty" fi |
|||
41
IVIuXa
30.11.09
✎
05:00
|
(24)(25)
ну не на столько же я ..... ;) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |