grep 并且不显示包含特定字符串的行
grep and don't show lines that containa a certain string
我有以下命令和输出
$ find . -iname '*custom_layout_width*'
find: ‘./etc/apps/learned/local’: Permission denied
./etc/apps/search/appserver/static/custom_layout_width.js
find: ‘./etc/apps/search/local’: Permission denied
./etc/apps/simple_xml_examples/appserver/static/custom_layout_width.js
find: ‘./etc/apps/simple_xml_examples/local’: Permission denied
find: ‘./etc/apps/splunk_management_console/lookups’: Permission denied
我不想显示不包含字符串 Permission
.
的行
我该怎么做?
本来想用grep的,但是我显然不是那么好。
$ find . -iname '*custom_layout_width*' | grep '!Permission'
EDIT1 找到了这个 here 但使用 -v 似乎对我不起作用
您可以将错误重定向到 /dev/null
。
find . -iname '*custom_layout_width*' 2>/dev/null
以下将不起作用,
find . -iname '*custom_layout_width*' | grep '!Permission'
因为,pipe 是从 stdout 获取输入并将其作为输入传递给下一个命令。但是这里 Permission Denied
会出现在 stderr 中。所以管道将不起作用。
为此你可以这样做,
find / -iname "hi" 2>&1 | grep -v "Permission"
2>&1
它正在将 stderr
合并到 stdout
。现在 stderr
内容将被放置在 stdout
.
我有以下命令和输出
$ find . -iname '*custom_layout_width*'
find: ‘./etc/apps/learned/local’: Permission denied
./etc/apps/search/appserver/static/custom_layout_width.js
find: ‘./etc/apps/search/local’: Permission denied
./etc/apps/simple_xml_examples/appserver/static/custom_layout_width.js
find: ‘./etc/apps/simple_xml_examples/local’: Permission denied
find: ‘./etc/apps/splunk_management_console/lookups’: Permission denied
我不想显示不包含字符串 Permission
.
我该怎么做? 本来想用grep的,但是我显然不是那么好。
$ find . -iname '*custom_layout_width*' | grep '!Permission'
EDIT1 找到了这个 here 但使用 -v 似乎对我不起作用
您可以将错误重定向到 /dev/null
。
find . -iname '*custom_layout_width*' 2>/dev/null
以下将不起作用,
find . -iname '*custom_layout_width*' | grep '!Permission'
因为,pipe 是从 stdout 获取输入并将其作为输入传递给下一个命令。但是这里 Permission Denied
会出现在 stderr 中。所以管道将不起作用。
为此你可以这样做,
find / -iname "hi" 2>&1 | grep -v "Permission"
2>&1
它正在将 stderr
合并到 stdout
。现在 stderr
内容将被放置在 stdout
.