unix - 使用 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_”的字符串。它并不总是列表中的第二项。位置可能会改变。可变长度,分隔。
解决方案
使用简单的awk
解决方案:
awk 'match($0,/src_[0-9]+/){print substr($0,RSTART,RLENGTH)}' Input_file
或者
awk '{sub(/.*src/,"src");sub(/\,.*/,"")} 1' Input_file
推荐阅读
- node.js - 我可以部署一个前端文件夹和后端文件夹都在同一个 Github 存储库上的 MERN 应用程序吗?
- sql - 查看不执行,但直接运行相同的查询
- typo3 - TYPO3 9 Extbase EXT originalResource 的 FileReference 始终为 NULL。为什么?
- css - 如何使用变换矩阵修改 svg 路径数据
- sql - 如何根据查询中的行多次替换?
- javascript - 反应钩子,状态没有正确改变
- regex - elasticsearch 正则表达式模式
- r - y 轴和数据点的单独刻度颜色
- windows - 如何将 mailto 链接与 Windows 10 上的 PWA 应用关联?
- mysql - 返回在 MySql 中不包含单词的行的查询