I’m getting results using find with filenames that have ‘~’ and .swp, etc. So I did the following, but is there a better way to do this? The '.*.js' -iname '*.js' part feels “redundant”.
$ find ./ '.*.js' -iname '*.js' -print0 | xargs -0 grep -n ".*loginError.*"
find: `.*.js': No such file or directory
./js/signin.js:252: foo.loginError();
./js/signin.js:339:foo.loginError = function() {
./js/signin.js:340: foo.log("ui.loginError");
Try using
That will find only files with ‘js’ extension and not ending in ~ or .swp
EDIT: Added ‘0’ -print0 (edit requires 6 characters so I’m adding this; ergh!)