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...
Gilles 'SO- stop being evil'
865k204 gold badges1.8k silver badges2.3k bronze badges
asked Jul 13, 2013 at 8:44

2 Answers 2

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)

answered Jul 13, 2013 at 10:15
2
  • i launched this from iside my folder /htdocs but it doesn't works :( do you tryed by yourself? Commented Jul 13, 2013 at 10:47
  • 1
    @sbaaaang did you replace /folder with the real path? If you run from inside the target folder, that will be .. Commented Jul 13, 2013 at 12:31
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.

answered Jul 13, 2013 at 10:19
3
  • That assumes filenames don't contain double quote, backslash, dollar, backtick or newline characters and runs one sed, one sh and one stat commands per file. Commented Jul 13, 2013 at 10:27
  • Yes, yes it does. I'm making the assumption that PHP files aren't likely to contain any of those characters. Commented Jul 13, 2013 at 10:43
  • try stat -f "%OLp %N" file Commented Jul 13, 2013 at 12:24

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.