我有一个包含许多错误行的日志文件,例如:
Failed to add [email protected] to database
我可以通过一个grep调用过滤这些行:
grep -E 'Failed to add (.*) to database'
这可以正常工作,但是我真正想做的是让grep(或我将输出传递到的另一个Unix命令)仅输出匹配行的电子邮件地址部分。
这可能吗?
最佳答案
您可以使用sed:
grep -E 'Failed to add (.*) to database'| sed 's/'Failed to add \(.*\) to database'/\1'
关于unix - 您可以使用正则表达式对文件进行grep操作,而仅输出行的匹配部分吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/974757/