首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提取每行只匹配该行中特定字符的第一次出现的行?

如何提取每行只匹配该行中特定字符的第一次出现的行?
EN

Stack Overflow用户
提问于 2018-09-21 15:09:58
回答 1查看 49关注 0票数 1

我正在编写bash shell脚本。我有一个变量,它有很多行。这里:,如何提取与第5列中的字符5匹配的每一行?

declare -a T1 echo '$input' T=$(echo -e "$input" | grep 5) echo "$T"

输入变量内容:

代码语言:javascript
复制
:: find lo(): [5] :: Current Digital = 0.00 4
:: find lo(): [6] :: Current Digital = 0.00 4
:: find lo(): [7] :: Current Digital = 0.00 5
:: find lo(): [8] :: Current Digital = 0.00 4
:: find lo(): [5] :: Current Digital = 0.00 7
:: find lo(): [6] :: Current Digital = 0.00 7
:: find lo(): [7] :: Current Digital = 0.00 15
:: find lo(): [8] :: Current Digital = 0.00 7
:: find lo(): [5] :: Current Digital = 0.00 10
:: find lo(): [6] :: Current Digital = 0.00 10
:: find lo(): [7] :: Current Digital = 0.00 10
:: find lo(): [8] :: Current Digital = 0.00 35
:: find lo(): [5] :: Current Digital = 0.00 13
:: find lo(): [6] :: Current Digital = 0.00 25
:: find lo(): [7] :: Current Digital = 0.00 13
:: find lo(): [8] :: Current Digital = 0.00 13
:: find lo(): [5] :: Current Digital = 0.00 15
:: find lo(): [6] :: Current Digital = 0.00 50
:: find lo(): [7] :: Current Digital = 0.00 16
:: find lo(): [8] :: Current Digital = 0.00 55

期望的T1变量内容:

代码语言:javascript
复制
:: find lo(): [5] :: Current Digital = 0.00 4
:: find lo(): [5] :: Current Digital = 0.00 7
:: find lo(): [5] :: Current Digital = 0.00 10
:: find lo(): [5] :: Current Digital = 0.00 13
:: find lo(): [5] :: Current Digital = 0.00 15

当前T1变量内容:

代码语言:javascript
复制
:: find lo(): [5] :: Current Digital = 0.00 4
:: find lo(): [7] :: Current Digital = 0.00 5
:: find lo(): [5] :: Current Digital = 0.00 7
:: find lo(): [7] :: Current Digital = 0.00 15
:: find lo(): [5] :: Current Digital = 0.00 10
:: find lo(): [8] :: Current Digital = 0.00 35
:: find lo(): [5] :: Current Digital = 0.00 13
:: find lo(): [5] :: Current Digital = 0.00 15
:: find lo(): [6] :: Current Digital = 0.00 50
:: find lo(): [8] :: Current Digital = 0.00 55
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-21 15:34:43

这个命令应该给出预期的输出,只要第一次出现的5总是放在括号内。

代码语言:javascript
复制
T=$(echo -e "$input" | grep '\[5\]'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52446621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档