LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1131|回复: 11

命令行下匹配行尾的$不能发挥作用,怎么解决……

[复制链接]
发表于 2006-3-20 19:10:13 | 显示全部楼层 |阅读模式
使用grep,
$grep "4$" datafile
根本查不出以4结尾的行,但是文件datafile中有这样的行,系统是redhat,magiclinux也试了,都是无结果:help
发表于 2006-3-20 19:26:18 | 显示全部楼层
注意表达式用单引号..
grep '4$' datafile就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 19:48:32 | 显示全部楼层
thx,
但是试过了,没有用,可以看我在虚拟机上的截图
在附件里~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-3-20 20:06:17 | 显示全部楼层
会不会行末有空格之类,
试'4[\ \t]*$'
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 20:13:24 | 显示全部楼层
没有空格~~唉,真是很莫名
回复 支持 反对

使用道具 举报

发表于 2006-3-20 20:54:22 | 显示全部楼层
我又试一下,在行尾加上空格就出现你这种情况.grep '4[\ \t]*$' datafile就行了,请仔细检查到底有没有空格.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-20 21:12:18 | 显示全部楼层
我自己建了一个文件就行了,原来我使用的数据库是一本书附的原数据库,空格是没有的,我怀疑是不是DOS格式有影响
谢谢楼上几位了!
回复 支持 反对

使用道具 举报

发表于 2006-3-21 08:48:47 | 显示全部楼层
grep "4\>" filename
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-21 19:17:35 | 显示全部楼层
我把那个数据文件贴上来了,希望那位高手能够研究一下,都是以0结尾的……

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2006-3-21 21:57:39 | 显示全部楼层
确是换行符问题

grep 0^M$ attachment.php

sed -i s/^M//g attachment.php

grep 0$ attachment.php

^M要通过ctrl+V ctrl+M输入。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表