gpt4 book ai didi

linux - 显示 grep 匹配的文件名

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:26 25 4
gpt4 key购买 nike

我正在使用 cat 来显示文件文件的内容,并使用 grep 来显示字符串,例如,cat log/* | grep 'error',想知道是否有一个选项可以显示文件夹日志下哪个文件名与“error”匹配?我在上面使用的当前命令只显示匹配的行。

使用 Linux。

提前致谢,林

最佳答案

grep 本身接收文件参数。所以

grep 'error' log/*

会起作用。

此外,颜色和行号更适合显示:

grep -n --color 'error' log/*

它很常用,你可以在你的.bashrc文件中加入以下内容:

alias grep='grep -n --color'

但它在脚本中不起作用,因此请确保您了解 alias 的实际含义。


更新

看来我误解了你的问题。所以实际上你想要的是:

ls log/*error*

我不知道您要做什么,但是如果您尝试使用 ls 返回的名称,那是错误的做法。这取决于您的语言,在 bash 中,您应该使用 globbing 来遍历文件名:

for file in log/*error*; do
do-your-stuff $file
done

在其他语言中,除了调用额外的进程之外,您应该有更好的工具。

关于为什么 ls 不好:‖ http://mywiki.wooledge.org/ParsingLs

关于linux - 显示 grep 匹配的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32151558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com