当前位置:  技术问答>linux和unix

shell中的特殊字符与单引号的疑惑

    来源: 互联网  发布时间:2017-04-13

    本文导语:  tmp.log中存在“[2/1]”“[2/0]”这样的特殊字符 我采用语句: grep '[2/[0-1]]' tmp.log 显示结果是正确的 但使用以下语句就不能显示了 grep '[2/*]' tmp.log 这是什么原因? 另外:单引号中的特殊字符全部视为普通字符,为...

tmp.log中存在“[2/1]”“[2/0]”这样的特殊字符
我采用语句:
grep '[2/[0-1]]' tmp.log

显示结果是正确的
但使用以下语句就不能显示了
grep '[2/*]' tmp.log

这是什么原因?

另外:单引号中的特殊字符全部视为普通字符,为何在grep语句中还需要添加反斜杠呢
单引号中字符串特殊符号在什么情况下不需要加反斜杠。
shell菜鸟,希望大家可以帮帮,如果我找到答案也会发生来的。
谢谢。

|
是这个吧:
grep '[2/.*]' tmp.log

*是shell的通配符,
.*才是正则表达式

|

在正则表达式里面*号表示它左边的字符出现0次或任意多次
'[2/*]'的意思是左方括号后面跟着数字2,数字2后面跟着0个或任意多个斜线,再后面跟着右方括号。
很显然你的数据不符合这个条件,因为你右方括号前面还有其它数字。


因为方括号在grep里面有特殊意义,它表示一个集合,所以需要转义。


具体命令具体分析,没有一个放之四海而皆准的规律。

|
grep是正则,不是通配符。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 使用shell在文本文件中进行字符串搜索问题?shell高手请进,分不够可以再加
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • shell程序:在大文件中查找特定字符串,但该字符串可以跨行
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  • shell如何取一个字符串中最右边的三个字符?
  • shell如何去掉字符串中的一些字符?
  • shell如何只替换字符串的第一个字符?
  • shell怎么搜索文件中指定字符串,然后将该字符串后面的数字输出
  • 急问bash shell中替换字符串中某字符为通配符的问题。
  • 问一个简单的shell问题:如何将一个文件中的字符串A全部用另外一个字符串B替换?
  • 在linux下写一个shell:if(字符串1==“”(空) 或字符串2====“”(空))怎马写啊,急
  • shell 中如何传字符串参数?
  • shell里按照位置截取字符串变量
  • shell函数如何返回字符串
  • 谁知道Kernel driver怎么发送字符到shell运行吗?
  • linux shell 中# 字符当成注释?
  • 请问在shell如何实现字符串子串运算
  • shell脚本里面,用什么指令删除字符串中子串
  • 关于使用shell在文件中查找一段字符串的问题
  • 请教一个shell中字符和数值的问题。
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请问“当前shell”和“子shell”的区别?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,