如果和使用条件的awk -F没有找到字符串 [英] awk -F not finding strings if AND condition is used
本文介绍了如果和使用条件的awk -F没有找到字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要打印搜索的字符串的第二部分。
A =你好,我有一个CREATE TABLE设置为(UID,CID,MID)
上面的字符串可能因为它需要只要继续。
回声$ A| awk的-F/制作/&放大器;&安培; / TABLE /'{打印$ 2}'
返回什么...
块引用>这应该返回:
为(UID,CID,MID)
块引用>解决方案试试这个:
回声$ A| awk的-F创建。* TABLE'{打印$ 2}'
如(UID,CID,MID)不知道正则表达式中的字段分隔符做的工作。
使用可变字段分隔符:
九月=两个
回声_one_two_three_four| AWK -v VAR = $九月'{拆分($ 0,A,_VAR);打印[2]}
_三四九月=三个
回声_one_two_three_four| AWK -v VAR = $九月'{拆分($ 0,A,_VAR);打印[2]}
_四I need to print second part of the searched string
a="Hello I have a CREATE set TABLE as (uid, cid, mid)"
Above string may continue as long as it needs.
echo "$a" | awk -F"/CREATE/&&/TABLE/" '{print $2}'
it returns nothing...
It should return:
as (uid, cid,mid)
解决方案Try this:
echo "$a" | awk -F"CREATE.*TABLE" '{print $2}' as (uid, cid, mid)
Not sure if regex in Field Separator do work.
Using variable Field Separators:
sep=two echo "_one_two_three_four" | awk -v var=$sep '{split($0,a,"_"var);print a[2]}' _three_four
sep=three echo "_one_two_three_four" | awk -v var=$sep '{split($0,a,"_"var);print a[2]}' _four
这篇关于如果和使用条件的awk -F没有找到字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文