Fórum Root.cz
Hlavní témata => Software => Téma založeno: Petr2 06. 09. 2018, 20:38:58
-
promiňte, už přes hodinu se lopotím a nevím...
chci vyhledávat soubory podle obsahu v proměnné, např.
par="\( -iname "w*" -o -iname "*sort*" \)"
a chci spustit 'find $par', ale pořád tu mám chybu find: paths must precede expression
zkouším odstranit backslash, obalit $par uvozovkami...
poraďte prosím
-
syntax findu je
find /home/perceptron -name fail.pdf
najprv ide cesta, potom idu expressions. aka je cesta u vas? lebo vy ste ju vynechali
-
tím to nebude, cesta je volitelná
když to vložím manuálně 'find \( -iname "w*" -o -iname "*sort*" \)' tak to dělá co má
-
Myslite ze uvozovky se vnoruji? Viz priklad - rekl bych ze se interpretuji zleva doprava a vznika paskvil, nebo ne?
-
tím to nebude, cesta je volitelná
když to vložím manuálně 'find \( -iname "w*" -o -iname "*sort*" \)' tak to dělá co má
par='\( -iname "w*" -o -iname "*sort*" \)'
-
jj, máte pravdu a bez těch závorek
par="-iname \"8w*\" -o -iname \"*sort*\" "
díky
-
jj, máte pravdu a bez těch závorek
par="-iname \"8w*\" -o -iname \"*sort*\" "
díky
To je divne parse, spis se mi libi to gilovo, byt bez zavorek
-
Když budeš používat uvozovky tam, kde mají být apostrofy, tak riskuješ, že se ti expanduje i to, co nechceš. Například hvězdička.
-
jj, máte pravdu a bez těch závorek
par="-iname \"8w*\" -o -iname \"*sort*\" "
díky
To je divne parse, spis se mi libi to gilovo, byt bez zavorek
Konkretne to asi vyjde nastejno, byt bez klavesnice se to predstavuje blbě, ale pokud bys později nahradil to w* třeba $1 , tak se ta tvoje varianta rozpadne. Double quota Do Dollar substitutions :-) resp $ a \ Single quota ignoruji vsechny specialni vyznamy