is it possible to list all the ".php" files located into a direcotry and their octal permissions?
I would like to list them like this:
775 /folder/file.php
644 /folder/asd/file2.php
etc...
is it possible to list all the ".php" files located into a direcotry and their octal permissions?
I would like to list them like this:
775 /folder/file.php
644 /folder/asd/file2.php
etc...
find /folder -name '*.php' -type f -print0 |
perl -0 -lne 'printf "%o %s\n", (lstat $_)[2]&07777, $_'
See also this related question: Convert ls -l output format to chmod format.
-print0 is a GNU extension also supported by BSDs like OS/X. GNU find also has a -printf predicate which could display the mode, but that one has not been added to BSD's find.
(Tested on OS/X 10.8.4 and Debian 7 but should work on any system that has any version of perl and find -print0 which includes all GNU systems and all recent BSDs)
find /some/path -type f -name "*.php" -exec sh -c 'stat -f "%p %N" "{}" | sed -E s/^.{3}//' \;
This is tested on OS X 10.8.4. The sed pipe just cuts the first 3 characters off the output (filetype). Looks like OS X stat doesn't support straight-up octal permission output.
PHP files aren't likely to contain any of those characters.
– Mel Boyce
Jul 13 '13 at 10:43
/folderwith the real path? If you run from inside the target folder, that will be.. – terdon Jul 13 '13 at 12:31