【发布时间】:2011-03-01 02:34:08
【问题描述】:
我使用带有“~”和 .swp 等文件名的 find 来获得结果。所以我做了以下操作,但有没有更好的方法来做到这一点? '.*.js' -iname '*.js' 部分感觉“多余”。
$ 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");
【问题讨论】:
-
您的 '.*.js' 参数是多余的,它被解释为您当前位置的相对路径名(它不用作查找中的模式),如您所见,导致 find 打印错误(输出中的第一行)
-
在
grep模式两端的.*也是多余的。你可以简单地省略它们。grep -n "loginError"