gpt4 book ai didi

linux - 如何从 Linux ls 或 find 命令的文件列表中获取内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:35:26 24 4
gpt4 key购买 nike

我正在运行 -> “find . -name '*.txt'”命令并获取文件列表。

我得到下面提到的输出:

./bsd/contrib/amd/ldap-id.txt
./bsd/contrib/expat/tests/benchmark/README.txt
./bsd/contrib/expat/tests/README.txt
./bsd/lib/libc/softfloat/README.txt

等等,

在这些文件中,我如何运行 grep 命令并读取内容并仅过滤那些具有特定关键字的文件?例如其中的“版本”。

最佳答案

xargs 是实现此目的的好方法,并且已经介绍过了。

find-exec 选项对此也很有用。它将对从查找返回的所有文件执行命令。

尽可能少地调用 grep,将多个文件名传递给每个调用:

find . -name '*.txt' -exec grep -H 'foo' {} +

或者,为找到的每个文件恰好调用一次 grep:

find . -name '*.txt' -exec grep -H 'foo' {} ';'

在任何一种情况下,{} 都像是来自 find 的值的占位符;如果您的 shell 是 zsh,则可能需要对其进行转义,如 '{}' 中所示。

关于linux - 如何从 Linux ls 或 find 命令的文件列表中获取内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301123/

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