Portál AbcLinuxu, 23. dubna 2024 17:28


Dotaz: Nefunguje zápis find /*/lib

2.6.2007 23:19 Vasek
Nefunguje zápis find /*/lib
Přečteno: 157×
Odpovědět | Admin
Nefunguje mi tenhle zapis:
find /*/lib \( -type f -o -type l \) | xargs stat
. Nevite, jak by to melo byt spravne?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

marek_s avatar 2.6.2007 23:36 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle Ti nemuze fungovat. Onu hvezdicku uz totiz expanduje shell (ne find!). To znamena, ze find uz dostane neco jako
find /a/lib /b/lib /c/lib /d/lib ... ( -type f -o type l )
Coz ho jiste nepotesi. Nenapada me ted uplne jednoduche a elegantni reseni, ale "man find" Ti jiste pomuze...
"Consummatum est" -- Iesus Nazarenus
pdp7 avatar 2.6.2007 23:40 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
Rozbalit Rozbalit vše Re: nefunguje
Tak at pred onu hvezdicku da zpetny lomitko ne?
marek_s avatar 2.6.2007 23:54 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: nefunguje
To nebude fungovat, protoze v tu chvili bude find hvezdicku povazovat za znak ve jmenu souboru (to je v unixu dovoleno!).

Jeste me napada. Potrebujes prohledavat i podadresare onech /*/lib? Kdyby ne, tak by slo pouzit prachsproste ls:

ls /*/lib/* | stat bla bla bla
Pravda je, ze to moje reseni nevybere jen obyc. soubory a linky...
"Consummatum est" -- Iesus Nazarenus
3.6.2007 00:01 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: nefunguje
Find, stejně jako snad všechny standardní utility (u kterých to má smysl) více parametrů určujících cestu akceptuje a rozumí jim (viz man).
marek_s avatar 3.6.2007 00:10 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: nefunguje
Jo, asi mas pravdu. Vzdycky jsem si myslel, ze find pobere jen jednu cestu:-) Autor by tedy mel uvest, co vlastne zamysli, aby jeho skript delal...
"Consummatum est" -- Iesus Nazarenus
4.6.2007 10:21 cronin | skóre: 49
Rozbalit Rozbalit vše Re: nefunguje
... Coz ho jiste nepotesi. ...
Cimrmanolog? :-)
marek_s avatar 4.6.2007 22:26 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: nefunguje
Cimrmanolog?
Ale jo, vicemene:-)
"Consummatum est" -- Iesus Nazarenus
3.6.2007 00:06 Marble | skóre: 27 | blog: marble
Rozbalit Rozbalit vše Re: nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Předně, nadpis u otázky je k tomu, aby bylo poznat, na co se chceš zeptat. To zrovna výkřik "nefunguje" nesplňuje.

Za druhé, co znamená "nefunguje"? Co od toho zápisu očekáváš, že by měl dělat a co ti místo toho udělá? Podle mě dělá právě to, co by dělat měl a nevidím v tom zápisu žádný problém nebo chybu. Zkus se příště při psaní dotazů slovu "nefunguje" raději úplně vyhnout a použij alespoň trochu lepší popis problému.

3.6.2007 00:29 Radek Šlesinger | skóre: 13 | Adamov
Rozbalit Rozbalit vše Re: nefunguje
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neznáš nějakého Pepu číslo 69? Ten se tady před pár dny ptal na úplně stejný příkaz. :-) (On toho ale měl povíc.)
3.6.2007 09:31 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Nefunguje zápis find /*/lib
Odpovědět | | Sbalit | Link | Blokovat | Admin
Důvod, proč to nedělá to, co byste očekával, už vám naznačili, tak ještě doplním řešení. Správný zápis by asi měl používat -wholename, čili něco zhruba jako:
find / -wholename '/*/lib/*' \( -type f -o -type l \) | xargs stat
Ještě jsem to nikdy nepotřeboval, tohle lze jen vyčíst z man find, v zásadě by to mělo fungovat... Jiné řešení mě teď nenapadá.
4.6.2007 16:46 *
Rozbalit Rozbalit vše Re: Nefunguje zápis find /*/lib
Odpovědět | | Sbalit | Link | Blokovat | Admin
co ti na tom nefunguje? nebo presneji - co ocekavas?

jinak teda pro pripad divnych znaku v nalezenych souborech...

find /*/lib \( -type f -o -type l \) -print0 | xargs -0 stat
4.6.2007 16:47 *
Rozbalit Rozbalit vše Re: Nefunguje zápis find /*/lib
ale predne jsem pro to, aby se todle vlakno smazalo nebo presunulo do blogu, protoze v nem postradam otazku.
5.6.2007 07:30 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Nefunguje zápis find /*/lib
To nevadí, ona už stejně byla zodpovězena :D

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.