【发布时间】:2016-06-27 21:50:59
【问题描述】:
我正在尝试获取 unix korn shell 中的匹配数,但不工作,只返回 1。 我有一个值为“myfile-ddmmyy_HHMM”的变量,我正在做的是获取它的匹配项,但返回 1。
myfile="myfile-ddmmyy_HHMM"
echo $myfile | egrep -c "ddmmyy|HHMM"
应该返回 2。
有什么想法吗?
【问题讨论】:
-
你只是在文件名中搜索
-
是的,它只返回第一个匹配项。
-
我要回显变量,因为我必须用时间戳替换“ddmmyy_HHMM”。
-
你为什么会得到 2 个?只有一行输入,所以你最多只能得到 1 作为输出计数。如果你弄乱了 GNU(或 BSD)
grep扩展选项-o(只输出匹配的文本,每个匹配在自己的行上),那么你会得到 2 返回。请注意,Korn shell 的使用无关紧要——重要的是您使用的grep方言。
标签: shell unix count grep match