免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: happybgt
打印 上一主题 下一主题

!求救高手:shell脚本显示文件的空行的疑问?--^$ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-04-12 15:48 |只看该作者
回复 9# happybgt


    不好意思^_^,看错了
    恩在shell command中,shell会先解释一遍输入的命令,然后再把这些参数送给指定的程序
     \^,\$的意思是告诉shell^,$字符是字面字符的意思
    比较下 "\^$"  "^$"  ^$  \^$  ;最后送给grep的字符是不一样的

论坛徽章:
0
12 [报告]
发表于 2010-04-12 16:12 |只看该作者
回复 10# blackold

老兄,你回答的还是挺靠谱的,谢谢
“shell眼里\^为^ ,\$为$,以上三个命令,grep看到的都是-n ^$,所以结果“也正确”。”

貌似能解释通啊,呵呵,希望高手能深刻解答解答

论坛徽章:
0
13 [报告]
发表于 2010-04-12 16:15 |只看该作者
回复 11# ghp268


  “  \^,\$的意思是告诉shell^,$字符是字面字符的意思”
就是说\关闭了紧跟其后的字符的RE meta功能,只是literal了

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
14 [报告]
发表于 2010-04-12 16:20 |只看该作者
期待高手!

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
15 [报告]
发表于 2010-04-12 16:29 |只看该作者
回复 13# happybgt


    不要把shell和RE搞混了。

    除了不靠谱的,我的回答都挺靠谱。

论坛徽章:
0
16 [报告]
发表于 2010-04-12 22:44 |只看该作者
回复 15# blackold

  RE meta和shell meta的区别我还是明确的,不过估计有些地方理解的不深刻,要不然这个问题也就不会想不通了
  我记得shell十三问中这么说:
“meta 在 RE 里具有特殊的功能, 要关闭只需在 meta 前面使用 escape( \ )字符”
照这么说, grep -n  \^$  zhao.conf 中^(表示句首),\应该关闭了^这个RE meta啊?

grep -n   \^$     zhao.conf   正确
grep -n  "\^$"   zhao.conf   不对
grep -n  '\^$'     zhao.conf   不对

grep -n   ^\$     zhao.conf   正确
grep -n  "^\$"   zhao.conf   正确
grep -n  '^\$'    zhao.conf    不对

grep -n   \^\$    zhao.conf   正确
grep -n  "\^\$"  zhao.conf   不对
grep -n  '\^\$'   zhao.conf    不对

论坛徽章:
0
17 [报告]
发表于 2010-04-12 22:47 |只看该作者
回复 3# crowsy001


    不对,这个试了不行

论坛徽章:
0
18 [报告]
发表于 2010-04-12 22:51 |只看该作者
回复  crowsy001


    不对,这个试了不行
happybgt 发表于 2010-04-12 22:47



    你想干啥?

sy@/home/t/a/crowsy>cat txt
1

3
4
sy@/home/t/a/crowsy>grep \\^$ txt
sy@/home/t/a/crowsy>grep \^$ txt

sy@/home/t/a/crowsy>grep ^$ txt

sy@/home/t/a/crowsy>

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
19 [报告]
发表于 2010-04-12 22:52 |只看该作者
回复 16# happybgt


   注意:
    十三问的meta是网中人自己的定义,与bash的定义不同。
     你要清楚哪些由shell解释,哪些由RE引擎解释。

论坛徽章:
0
20 [报告]
发表于 2010-04-12 23:20 |只看该作者
回复 18# crowsy001


    我是说grep \\^$ txt不会输出空行
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP