linux - 为什么 grep 找不到整数 * 2?

标签 linux grep

例如

grep -n 'integer*2' *.f

什么都不显示。但是

grep -n '*2' *.f


main.f:57:      integer*2 itime(nxmax)
main.f:605:             dxy=((xsource(is)-xobs)**2+(ysource(is)-yobs)**2)**.5
main.f:622:           chisum=chisum+diff2/uobs**2
model.f:15:      integer*2 veli(nxmax)
model.f:52:      size2=size**2
time.f:151:      integer*2 itime(nxmax)

我真的不明白。

最佳答案

* 是一个运算符,意思是“匹配前一项0次或多次”。所以 integer*2 匹配

intege2
integer2
integerr2
integerrr2
     :

这些都不会出现在您的程序中。 * 在 RE 的 beginning 是无意义的(没有前面的术语),因此被忽略或被视为与 * 匹配。转义 * 以使其匹配实际的星星:

'integer\*2'

关于linux - 为什么 grep 找不到整数 * 2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841682/

相关文章:

python - 通过 Anaconda 安装 `libm.so.6`

c - 扫描同一个文件时找不到 execve 文件!

c++ - Windows 中的 strptime?

regex - 命令行递归代码清理, '){' 到 ') {',使用 grep/sed

linux - 删除一行及其前面的行

Android Emulator 在硬件加速下不启动,linux/ubuntu

c - 当由 root 运行时,如何在与可执行文件相同的目录中创建文件?

linux - 如何比较unix中不同列的文件?

linux - 从一个文件中列出的另一个文件中查找模式

windows - svn 工作副本的快速递归 grepping