这个字符串搜索由Paul.R提供(非常感谢保罗):
**找到dir -type f -print0 | xargs -0 grep -F -f strings.txt **
注意,我使用上面的搜索参数对shell脚本中的硬编码路径名执行递归目录搜索。但是,由于Unix环境(TRU64)的限制,我无法使用GREP -r开关来执行我的目录搜索。因此使用上面提供的解决方案。
作为附加条件,我想扩展此搜索参数以排除所搜索字符串的第一个前导字符为“#”(注释符号)的任何文本。
非常感谢任何反馈。
...谢谢埃文
答案 0 :(得分:0)
我假设您只是试图限制您发布的命令的输出结果。如果是这样,那么
找到dir -type f -print0 | xargs -0 grep -F -f strings.txt | grep -v'^#'
最终的管道命令将忽略与正则表达式匹配的所有行^#(以#char开头)
答案 1 :(得分:0)
如果文件的路径和文件包含在strings.txt中,则此解决方案将无效,但它可能适用于您的情况。
find dir -type f -print0 | xargs -0 grep -v '^#' | grep -F -f strings.txt