【发布时间】:2016-03-01 13:14:50
【问题描述】:
我试图弄清楚为什么这不起作用,当然还有如何解决它,我在一个变量中有一个很长的日期列表,并且想使用 grep 来计算出现的次数,这似乎是拆分一个变量在新线路上没有按预期工作?例如,
$ list="2015-a 2015-b 2016-a" ; count=`echo $list | tr " " \\n | grep 2015 | wc -l` ; echo $count
1
$ list="2015-a,2015-b,2016-a" ; count=`echo $list | tr , \\n | grep 2015 | wc -l` ; echo $count
1
$ list="2015-a,2015-b,2016-a" ; count=`echo $list | sed s/,/\\n/g | grep 2015 | wc -l` ; echo $count
1
有什么想法吗?
【问题讨论】:
-
echo "2015-a 2015-b 2016-a" |grep -o "2015" | wc -l -
如果你说
tr " " "\n"就可以了。 -
顺便说一句,对于那些检查这个问题的人:有一个同义词请求将
tr合并到html-table。投票否决! stackoverflow.com/tags/html-table/synonyms 更多信息在 [我们可以撤消使 [tr] 成为 [html-table] 的同义词的建议吗?](meta.stackoverflow.com/q/311194/1983854) -
只需使用
grep -o 2015,您就会在同一行中多次出现 -
非常感谢您向我介绍 grep -o !