Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-11-27 20:40:26 +0100

Tohle by mělo fungovat správně

find . -type f -exec test -r {} \; -print

Popřípadě místo -print použít -ls pro ověření (výpisem).

-exec je akce, jejíž hdnota (true / false) závisí na návratovém kódu vykonaného příkazu. Tím, že je to ale akce, přepíše implicitní print, který přiřadím na konec. Všechny predikáty jsou spojené logickým součinem. -print se tedy vykoná pouze při úspěšném vyhodnocení příkazu. Využívám tedy externí příkaz pro testování něčeho, co find testovat neumí.
-type f není nutný. Jen si omezuji na obyčejné soubory.

Otestováno na debianu (tam funguje i -exec [ -r {} ] ).
Na fray otestováno jen zběžně, nemůžu si tam vytvořit příjemné podmínky na testování (chown...), ale passwd najde, zatímco shadow ne.

Tohle by mělo fungovat správně

find . -type f -exec test -r -x {} \; -print

Popřípadě místo -print použít -ls pro ověření (výpisem).

-exec je akce, jejíž hdnota (true / false) závisí na návratovém kódu vykonaného příkazu. Tím, že je to ale akce, přepíše implicitní print, který přiřadím na konec. Všechny predikáty jsou spojené logickým součinem. -print se tedy vykoná pouze při úspěšném vyhodnocení příkazu. Využívám tedy externí příkaz pro testování něčeho, co find testovat neumí.
-type f není nutný. Jen si omezuji na obyčejné soubory.

Otestováno na debianu (tam funguje i -exec [ -r -x {} ] ).
Na fray otestováno jen zběžně, nemůžu si tam vytvořit příjemné podmínky na testování (chown...), ale passwd najde, zatímco shadow ne.

EDIT: Sorry, v podmínce jsem měl -r. Samozřejmě má být -x.

Tohle by mělo fungovat správně

find . -type f -exec test -x {} \; -print

Popřípadě místo -print použít -ls pro ověření (výpisem).

-exec je akce, jejíž hdnota (true / false) závisí na návratovém kódu vykonaného příkazu. Tím, že je to ale akce, přepíše implicitní print, který přiřadím na konec. Všechny predikáty jsou spojené logickým součinem. -print se tedy vykoná pouze při úspěšném vyhodnocení příkazu. Využívám tedy externí příkaz pro testování něčeho, co find testovat neumí.
-type f není nutný. Jen si omezuji na obyčejné soubory.

Otestováno na debianu (tam funguje i -exec [ -x {} ] ).
Na fray otestováno jen zběžně, nemůžu si tam vytvořit příjemné podmínky na testování (chown...), ale passwd najde, zatímco shadow ne.ne (v případě testu na čitelnost).

EDIT: Sorry, v podmínce jsem měl -r. Samozřejmě má být -x.