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?
Citace od: Petr2 kdy 06. 09. 2018, 20:50:25
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
Citace od: Petr2 kdy 06. 09. 2018, 21:09:27
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.
Citace od: Canon kdy 06. 09. 2018, 21:15:19
Citace od: Petr2 kdy 06. 09. 2018, 21:09:27
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