红联Linux门户
Linux帮助

如何使用grep查找以$结尾的行

发布时间:2015-03-18 10:46:09来源:红联作者:herrick_liang
文件catalog中有如下数据:
apple 50 30$
pear 30 10$
banana 50
cherry 40

问题:现想查找已经定价的商品(即:查找出以$结尾的行)
使用如下命令却得不到任何结果:#grep '\$$' catalog
使用“\”对第一个"$"进行转义以表示美元符号,第二个“$”表示行尾,为什么得不到结果?
问题出在哪里?
文章评论

共有 6 条评论

  1. 洒墨年华 于 2017-04-29 16:28:54发表:

    回复:找到原因了,先用:sed '1,$l' catalog查看了一下,看到每一行就是以\r结尾的(即以回车结尾的),因此就无法找到以$结尾的行了

    不是这个原因啊我的楼主,是你grep后面跟的单引号。。。相当于你想grep的是 \$$ 这三个字符而不是以$结尾的了。。。

  2. 木易洋阳 于 2015-03-23 16:23:01发表:

    不错啊,楼主

  3. herrick_liang 于 2015-03-20 11:18:47发表:

    找到原因了,先用:sed '1,$l' catalog查看了一下,看到每一行就是以\r结尾的(即以回车结尾的),因此就无法找到以$结尾的行了

  4. acrofox 于 2015-03-19 21:33:38发表:

    可能你把 catalog 文件保存为 DOS 格式了吧。试试:[code]grep '\$[[:space:]]* catalog[/code]

  5. yuyajun 于 2015-03-19 12:53:51发表:

    你好,我用你的例子测试了一下,是可以的啊
    系统是centOS6.6。

  6. jackyduys 于 2015-03-19 11:01:01发表:

    等待答案......