【发布时间】:2017-04-01 16:09:37
【问题描述】:
我想 grep 一个不包括以点号开头的变量。但是,为整个单词选择 -w 选项不包括点号,因此不仅选择 4 55 48,还选择 0.4 0.55 5.48。
例如$var=1565
输入
A 3.00027 1565
B 3.00026 1565
C -1.1565 5000
想要的输出
A 3.00027 1565
B 3.00026 1565
我已经看到grep 的解决方案,以获取以 grep 开头的确切模式,但这不适用于变量。
我已尝试在变量前添加一个空格符号,如下行所示,但它也没有提供所需的输出。
grep -E -w " $var" input.txt > output.txt #results in empty output
grep -E -w "[:space:]|$var" input.txt > output.txt # gives solutions that include the dot sign
【问题讨论】:
-
您可能想阅读手册页,了解 -w 的作用以及它的作用和不匹配的内容。您还可以查看单词边界