1

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...

2 Answers2

2
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)

1
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.

Mel Boyce
  • 349