首页 > 解决方案 > 使用 awk 解析分隔字符串并获取匹配的字符串

问题描述

我有一个分隔字符串变量,如下所述。我想 grep 匹配的字符串。我在互联网上找到了一些可能的解决方案,但遗憾的是他们没有给我预期的结果。你能建议或纠正我吗?

Input: 123,src_12,234,456
       1,23,34,src_23,4,56,7
       src_14,12
       12,3,5,src_5
Output: src_12
        src_23
        src_14
        src_5

逻辑:我需要获取具有“src_”的字符串。它并不总是列表中的第二项。位置可能会改变。可变长度,分隔。

标签: unixawksed

解决方案


使用简单的awk解决方案:

awk 'match($0,/src_[0-9]+/){print substr($0,RSTART,RLENGTH)}'  Input_file

或者

awk '{sub(/.*src/,"src");sub(/\,.*/,"")} 1' Input_file

推荐阅读