find / grep to list files with php's short_open_tag
Suvayu Ali
fatkasuvayu+linux at gmail.com
Thu May 9 12:39:04 UTC 2013
On Wed, May 08, 2013 at 11:23:34PM -0430, Patrick O'Callaghan wrote:
> On Tue, 2013-05-07 at 19:41 +0200, Reindl Harald wrote:
> > find /data/www/ -type f -name \*.php -exec grep -l -i -n -F "<?\n" '{}' \;
> > is expected to find any file with "<?" followed directly by a linebreak
> > but that does not work and if someone finds google empty it was me :-(
>
> Not sure if "\n" is allowed, but why not use $ for end of line as in
> most regular expressions?
Reindl is using fgrep (implied by the -F flag), so I would think \n is
interpreted literally. I would agree with your suggestion to use
$ grep -E "<?$"
Another recommendation would be to use -print0 and pipe to xargs -0.
Using the -exec flag for something like this might be significantly less
efficient.
--
Suvayu
Open source is the future. It sets us free.
More information about the users
mailing list