AWK搜索字符串并在出现字符串的位置打印全文

AWK搜索字符串并在出现字符串的位置打印全文,awk,Awk,我有一个包含几行文本的文档 示例(非实际): *准备从表中删除42个锁,其中type='test'和user_id='099'以及number='66719919* 我希望能够在文档中出现的任何位置(不遵循模式)搜索用户id,并将其输出为: 用户id=009 或 009 请问我如何使用awk实现这一点 谢谢。awk'/user\u id/{for(i=1;iawk'/user\u id/{for(i=1;i您也可以使用grep: awk '/user_id/{for(i=1;i<=NF;i

我有一个包含几行文本的文档

示例(非实际):

*准备从表中删除42个锁,其中type='test'和user_id='099'以及number='66719919*

我希望能够在文档中出现的任何位置(不遵循模式)搜索用户id,并将其输出为:

用户id=009

009

请问我如何使用awk实现这一点


谢谢。

awk'/user\u id/{for(i=1;i
awk'/user\u id/{for(i=1;i您也可以使用grep:

awk '/user_id/{for(i=1;i<=NF;i++){if($i~/user_id/){split($i,a,"=");print a[2]}}}' your_file
grep -o "user_id='\?[0-9]*'\?"
追加
tr
以删除引号:

grep -o "user_id='\?[0-9]*'\?" | tr -d \'

您也可以使用grep:

grep -o "user_id='\?[0-9]*'\?"
追加
tr
以删除引号:

grep -o "user_id='\?[0-9]*'\?" | tr -d \'

user\u id=NUM
可以跨两行出现吗?可以跨两行出现吗?谢谢Thor。工作如期完成。谢谢。干杯。@ace:很高兴它能为你工作。在这里表达感谢的方式是将有用的答案和最好的答案向上投票。谢谢Thor。工作如期完成。谢谢。干杯。@ace:很高兴它工作了谢谢你。在这里表达感谢的方式是把有用的答案和最好的答案加起来。很好的一个Sarathi。同样有效。如果可能的话,请你向awk新手解释第二个命令是什么?谢谢。很好的Sarathi。同样有效。如果可能的话,请你向awk新手解释第二个命令是什么?谢谢。