Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Uran 17 Srpna 2009, 11:28:13

Název: find bez aktualniho adresare
Přispěvatel: Uran 17 Srpna 2009, 11:28:13
Tak uz mi z toho hrabe nekde mam chybu a nemohu ji najit. Potreboval bych prohledat adresar ale bez aktualniho umisteni (jen jeho podslozky).

Mel jsem ideu, ze by to mohlo byt takhle, ale nejako to nefunguje.

Kód: [Vybrat]
find . -iname '*' -type f \! -iwholename .
Název: Re: find bez aktualniho adresare
Přispěvatel: premet 17 Srpna 2009, 11:39:43
Zkus tohle
Kód: [Vybrat]
[prema@fedora ab]$ find . -iname asd
./asd
./asdf/asd
[prema@fedora ab]$ find . -mindepth 1 -iname asd
./asd
./asdf/asd
[prema@fedora ab]$ find . -mindepth 2 -iname asd
./asdf/asd
Název: Re: find bez aktualniho adresare
Přispěvatel: LuciusMare 17 Srpna 2009, 11:54:35
find *
?
Název: Re: find bez aktualniho adresare
Přispěvatel: Uran 17 Srpna 2009, 12:12:17
Priklad

Kód: [Vybrat]
ged@ged-laptop:~/data/download/true blood$ find
.
./True Blood S01E04 - Escape from Dragon House.srt
./True Blood S01E05
./True Blood S01E01
./True Blood S01E5 - Sparks Fly Out.srt
./True Blood S01E02 - The First Taste.srt
./True Blood S01E01.avi
./True Blood S01E04
./True Blood S01E04/nepojmenovaná složka
./True Blood S01E04/nepojmenovaná složka/nový soubor
./True Blood S01E02 - The First Taste.avi
./fff
./fff/nepojmenovaná složka
./fff/nový soubor
./True Blood S01E01.srt
./True Blood S01E02
./True Blood S01E04 - Escape from Dragon House.avi
./True Blood S01E5 - Sparks Fly Out.avi

No a predpokladal jsem ze tohle mi vylouci aktualni adresar:
Kód: [Vybrat]
ged@ged-laptop:~/data/download/true blood$ find . -iname '*' -type f \! -iwholename .
./True Blood S01E04 - Escape from Dragon House.srt
./True Blood S01E5 - Sparks Fly Out.srt
./True Blood S01E02 - The First Taste.srt
./True Blood S01E01.avi
./True Blood S01E04/nepojmenovaná složka/nový soubor
./True Blood S01E02 - The First Taste.avi
./fff/nový soubor
./True Blood S01E01.srt
./True Blood S01E04 - Escape from Dragon House.avi
./True Blood S01E5 - Sparks Fly Out.avi

kdyz zadam tak bych predpokladal, ze se vylouci slozka fff a ono nic:
Kód: [Vybrat]
ged@ged-laptop:~/data/download/true blood$ find . -iname '*' -type f \! -iwholename fff/
./True Blood S01E04 - Escape from Dragon House.srt
./True Blood S01E5 - Sparks Fly Out.srt
./True Blood S01E02 - The First Taste.srt
./True Blood S01E01.avi
./True Blood S01E04/nepojmenovaná složka/nový soubor
./True Blood S01E02 - The First Taste.avi
./fff/nový soubor
./True Blood S01E01.srt
./True Blood S01E04 - Escape from Dragon House.avi
./True Blood S01E5 - Sparks Fly Out.avi
Název: Re: find bez aktualniho adresare
Přispěvatel: premet 17 Srpna 2009, 12:34:00
Zkoušel si to co sem ti psal níž s tím -mindepth 2 ?
Název: Re: find bez aktualniho adresare
Přispěvatel: Uran 17 Srpna 2009, 12:45:40
Zkoušel si to co sem ti psal níž s tím -mindepth 2 ?

Jezisi ja jsem tele s tim mindepth 2 to funguje.

Jen mi jeste nedochazi proc nefunguje ta negace pripadne proc nejde negace tohoto vyrazu:
Kód: [Vybrat]
find . \! -path "./fff"?

V man find jsem nasel na funkcni reseni:
Kód: [Vybrat]
find . -path ./fff -prune -o -print
Je to spatne kdyz predpokladam, ze po negac slozky (fff) by mel find hledat vsude mozne jen ne v te slozce?

Dekuji