搜索图案和打印图案
Search for pattern and print pattern
我想搜索一个图案,然后打印那个图案。我发现 grep -o 是最好的选择,但我没有。我可以使用 sed、grep 或 awk。
输出: 发现:无法 chdir 到 </home/test/.ssh>
:权限被拒绝
我想匹配模式“/home/test”和return“/home/test/.ssh”并忽略该行的其余部分。
我试过:
find /home/test 2>&1 | sed -n '/\/home\/test\/.ssh/ s/.*\(\/home\/test\/.ssh\).*//p'
但这会替换所有与 /home/test
的匹配项
如有任何帮助,我们将不胜感激。
使用 find
打印 "things you can't access" 的错误,情况略有不同。当发生这种情况时,find
打印为 "STDERR"。所以你可以:
find /home/test 2>&1 1>/dev/null
这只会打印您在查找过程中遇到的错误。如果您仍然需要 'clean up' 权限被拒绝错误,如果 grep -o
是您所追求的,您可以在 perl
:
中完成
find /home/test 2>&1 1>/dev/null | perl -ne 'print m,<(.*)>,'
(假设您从 find
输出的路径在 <>
中)
我想搜索一个图案,然后打印那个图案。我发现 grep -o 是最好的选择,但我没有。我可以使用 sed、grep 或 awk。
输出: 发现:无法 chdir 到 </home/test/.ssh>
:权限被拒绝
我想匹配模式“/home/test”和return“/home/test/.ssh”并忽略该行的其余部分。
我试过:
find /home/test 2>&1 | sed -n '/\/home\/test\/.ssh/ s/.*\(\/home\/test\/.ssh\).*//p'
但这会替换所有与 /home/test
的匹配项如有任何帮助,我们将不胜感激。
使用 find
打印 "things you can't access" 的错误,情况略有不同。当发生这种情况时,find
打印为 "STDERR"。所以你可以:
find /home/test 2>&1 1>/dev/null
这只会打印您在查找过程中遇到的错误。如果您仍然需要 'clean up' 权限被拒绝错误,如果 grep -o
是您所追求的,您可以在 perl
:
find /home/test 2>&1 1>/dev/null | perl -ne 'print m,<(.*)>,'
(假设您从 find
输出的路径在 <>
中)