以下是文件内容:
{30001002|XXparameter|XSD_LOC|$\{FILES_DIR\}/xsd/EDXFB_mbr_demo.xsd|3|2|$|@{0|}}
{30001002|XXparameter|source_files|$XSD/EDXFB_mbr_demo.xsd|3|1|l|@{0|}}
我尝试使用awk完成以下操作: 首先,我想搜索字符串模式“EDXFB * .xsd”。 如果存在,则提取以“EDXFB”开头并以“.xsd”结尾的字符串
输出:
EDXFB_mbr_demo.xsd
EDXFB_mbr_demo.xsd
答案 0 :(得分:2)
提取表达式并打印出匹配数据的基本awk模式如下:
gawk 'match($0, /EDXFB.+\.xsd/, a) { print a[0] }'
尽管如此,你应该花些时间阅读awk
手册。
如果正则表达式只包含较低的字符和/EDXFB[a-z_]+\.xsd/
,则正则表达式可以更改为_
。
[编辑] :使用 @JID 中更干净的代码进行了更新。谢谢:))
答案 1 :(得分:1)
在你的例子中,grep可能会做你想做的事情:
grep -o 'EDXFB.*\.xsd'