你如何grep并只返回匹配的行?i、 e.结果中省略了路径/文件名.

在这种情况下,我想看看所有.当前目录中的bar文件,搜索术语FOO

find . -name '*.bar' -exec grep -Hn FOO {} \;

推荐答案

不需要find美元.如果您只是在特定目录中查找模式,这就足够了:

grep -hn FOO /your/path/*.bar

其中,-h是隐藏文件名的参数,如man grep:

-h, --no-filename

禁止在输出时为文件名添加前缀.这是默认设置

请注意,您正在使用

-H, --with-filename

打印每个匹配的文件名.这是当存在时的默认值

Linux相关问答推荐

GNC C:关于主要出发点混乱的 idea ?

在Bluez/Linux中,周期性与连续蓝牙设备发现的已知缺陷是什么?

AddressSaniizer随机抛出没有任何解释的SIGSEGV

为什么Read()和cin.get()对输出缓冲区的影响不同?

Perl/cpan: 找不到 JSON/Parse.pm @INC

使用 YASM 程序集时如何更改 64 位 Linux 中的终端 colored颜色 ?

如何使 awk 输出更具可读性?

如何使用 awk 重新排列列?

Bash 更新 yaml 文件中的图像值

如何在 linux 上为 JNI 应用程序编译动态库?

Linux中没有X.org的OpenGL

在 C 中设置环境变量

将参数传递给 awk 脚本文件

如何在 Linux 中创建高分辨率计时器来测量程序性能?

如何在没有 IDE 的情况下构建和部署三星 SmartTV 应用程序(例如:在 Linux 上)

为什么 mmap() 比顺序 IO 快?

rename() 是原子的吗?

在 Linux 中的特定行向文件添加文本

在 reverse-i-search (Ctrl+R ) , 历史上类似命令之间切换的任何方法

`os.symlink` 与 `ln -s`