gpt4 book ai didi

linux - 如何使用 grep 打印一行及其匹配模式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:21 24 4
gpt4 key购买 nike

我想使用 grep 或 awk 或 sed 打印匹配的字符串和匹配的行,最好是 grep,因为我想在一个大文件上执行此操作,而 grep 给了我最好的时间。

例如:如果我想匹配 'hello'然后使用命令:grep 'hello' filename,我得到结果:echo hello World

使用命令:grep -o 'hello' filename,我可以得到结果:

hello

无论如何我都能得到结果:

echo hello World , hello

或类似于此。帮助将不胜感激

编辑

hello 只是一个例子,它也可以是从文件中获取的变量,因此它不是静态的,如果我们有多个匹配,那么它们都应该被附加。

编辑 2

作为早期编辑的示例,考虑一个包含内容的文件 keywords

hello
why

我们还有另一个文件,我们将在其中检查这些关键字 testfile,其中包含内容

this line contains hello world
this line contains why hello world

所以当我们运行 grep 时,我们可以得到这样的答案:

描述|正则表达式(标记为 grep 结果),

this line contains hello world|hello
this line contains why hello world|hello,why

最佳答案

我会使用 awk:

awk -v OFS=' , ' 'match($0,/PATTERN/){print substr($0,RSTART,RLENGTH),$0}' file

参见 awk 手册 match()

关于linux - 如何使用 grep 打印一行及其匹配模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45861898/

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