我正在跨特定目录中的目录搜索所有脚本中的表名。例如。主页/abcd
我在 home/abcd 下有 abc、pqr、xyz 目录。我在这些目录中有我的项目特定脚本。
我用过这样的命令。
grep table_name home/abcd/abc | cut -d":" -f1 > output.txt
在这里,每当此目录下的文件没有读取权限时,我都会收到如下错误消息:
无法打开文件。
但是,我不想在屏幕上显示此消息。
使用2>/dev/null
这样 stderr 就不会出现:
grep table_name home/abcd/abc 2>/dev/null | cut -d":" -f1 > output.txt
$ ls -ltr a*
-rwxr-xr-x 1 me me 24 Oct 9 14:06 a
--wx-wx-wx 1 me me 0 Oct 9 14:10 a1 <--- no reading rights
$ grep a a*
a:123 abc
grep: a1: Permission denied
$
$ grep a a* 2>/dev/null
a:123 abc
使用-s
带有 的选项grep
。该命令将是
grep -s table_name home/abcd/abc | cut -d":" -f1 > output.txt