在 UNIX 文件系统中查找数值的最佳方法 [重复]
Posted
技术标签:
【中文标题】在 UNIX 文件系统中查找数值的最佳方法 [重复]【英文标题】:Best way to find the numeric value in UNIX file system [duplicate] 【发布时间】:2014-07-22 13:17:37 【问题描述】:我需要从大量文件中查找特定端口号。
我正在使用一个命令:
find . |xargs grep "9461"
但它没有找到数字 9461 的所有匹配项。 谁能建议一个更好的 unix/linux 命令来这样做。
它获取的文件类型是:x.log
、y.txt
、z.htm
、a.out
等文件
但它无法获取abc.conf
文件
【问题讨论】:
发布匹配的文件类型,以及应该匹配但不匹配的文件。 它获取的文件类型是:x.log、y.txt、z.htm、a.out 等文件但它无法在 abc.conf 文件中进行 grep “它无法 grep n ab.conf 文件”是什么意思? abc.conf 中有一些 9461 但没有显示?使用grep -H
确保它打印出它正在抓取的文件名。
【参考方案1】:
您肯定有一些理由将find
与grep
结合使用,但以防万一:
您可以通过以下方式替换您的命令:
grep -r "9461" .
如果你想要偶数行号
grep -rn "9461" .
正如 JonathanLefflero 评论的那样,还有一个选项 -e 可以使 grep 匹配正则表达式,因此,最终命令是
grep -rne 9461
你应该看看grep man page
最后一点,你应该检查你想要grep的是"9461"
还是9461
,没有""
。
【讨论】:
这可能意味着多次搜索文件,因为find
列出了文件和父目录,grep -r
也会扫描所有内容。使用grep -r -e 9461 .
可能有意义。
@JonathanLeffler 是的,你是对的!立即编辑。以上是关于在 UNIX 文件系统中查找数值的最佳方法 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在Unix / Linux平台上查找os名称和版本的最佳方法