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

sed 正则问题

    来源: 互联网  发布时间:2016-10-03

    本文导语:  echo abc | sed 's/b*/1' 这个输出是1abc 为什么呢,太奇怪了,abc前面没字符了呀?用 ^ 输出也是a 大家知道嘛 | b* 表示b出现0次或者多次 出现0次是什么意思 理解一下? 你刚才都说了"abc前面没字符了...

echo abc | sed 's/b*/1'
这个输出是1abc

为什么呢,太奇怪了,abc前面没字符了呀?用 ^ 输出也是a
大家知道嘛

|

b* 表示b出现0次或者多次 出现0次是什么意思 理解一下?
你刚才都说了"abc前面没字符了呀"  那b出现0次也就是没有字符。
所以一开始匹配就匹配上了 就把abc里第一次b出现0次的地方替换成了1  就变成了1abc了 

我觉得你要的效果应该是echo "abc"| sed 's/b.*/1/'

|

你在仔细读一下我5楼说的
你匹配到的是"没有" 又不是"a" 干嘛会把替换"a"变成1呢?
abc字符串 a字符前面是不是什么也没有?  你匹配到的是a前面的没有 把没有替换成了1  所以就变成了1abc

|

汉语没学好  "没有是什么意思"。
abc 这个字符串第一个有的字符是a  那a前面是什么? 是不是是"没有"? 替换的是a前面的没有! 
a是存在的 干嘛要替换?
看看10楼我说的 老师叫你站个没人的地方  明明a的地方有人 你还偏偏要把a这个人推开 你站在那儿吗?

|
echo abc | sed 's/b*/1'
这个能输出? 直接报错。

|
用.*通配任意字符。。

>echo abc | sed 's/b.*/1/'
a1

|
echo "abc"| sed  's/b.*/1/'
这样应该对的吧
*表示b重复任意多次,是0次也算进去了吧

|
打了个长的 才发现已经2个回复了!

|
不是符号的事情。。。汗,主席说得对!

|
就像abc三个学生站队 a是排头  刚好又来了学生1   老师让1找个没人的地方站  1看到a的前面没人 于是就站过去了 1就变成排头了 是不是变成1abc了?

|
echo ""| sed 's/b*/1/'
echo ""| sed 's/c*/1/'
echo ""| sed 's/d*/1/'
结果都是1

|

你不能挤进去啊  和你把a推走是2个含义吧。

这个我知道“”本身开头就是没有
但是"abc"开头是a啊
-----------
这是你刚才说的
那"abc"是不是相当于"""abc"

|
[root@localhost ~]# echo "d"| sed 's/d*/1/g'
1

我的例子可以否定:前面什么都没有开始的话!  
 因为这个结果要是11才能成立

|

d* 表示出现0次或者多次。出现0次表示没有d  出现1次就是1个d  出现n次就是n个d

那你就等着高手给你解释。

|
b*表示莫须有,有的话就是它了
echo "abc"| sed 's/b*/1/g'

|

我没怒啊  我只是没法继续解释了 因为我对每个命令理解也不是100%准确细致的 而且大多数命令我都还不会用呢

|

你可以下载sed源代码 自己去分析他实现的细节  

|
d* 表示出现0次或者多次。出现0次表示没有d 出现1次就是1个d 出现n次就是n个d

|
lz慢慢想

|
0不就是没有啊,哎,别钻牛角尖啊

    
 
 

您可能感兴趣的文章:

  • 关于sed的正则表达式
  • sed n 模式替换中正则表达式获取值问题(sed 高手帮帮忙!!)
  • sed 正则表达式问题
  • sed 正则表达式 文件内容替换
  • 问个sed的正则表达式
  • sed 正则表达式匹配
  • Shell正则表达式之grep、sed、awk实操笔记
  • sed 的简单问题, sed初学, 脚本高手进。先谢了
  • sed问题。。。对高手来说easy。。。
  • shell中的sed引入变量问题
  • sed问题,查了半小时,没找到结果
  • sed读取文件内容的简单问题?
  • sed的问题?
  • 求助一个sed的问题
  • 急,Shell中Sed替换的问题
  • Solaris下的sed出错问题!!!???
  • 求助,关于linux sed 命令的一个问题
  • 关于sed 替换字符的问题
  • 用sed替换的小问题
  • sed 语法问题,
  • sed问题
  • sed ''内识别问题
  • sed删除问题
  • sed的 字符串替换的问题
  • 求助sed命令问题
  • 求助 sed命令替换问题
  • shell sed 应用问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下利用(cat,strings,head,sed)命令生成随机字符串
  • pwd|sed 's//cygdrive/([a-z])/1:/' | sed 's///#/g'`\/(pwd代表绝对地址)这个sed又是什么
  • 在循环中使用sed,为什么sed不被执行
  • 请问 ls *.IMG | sed s/.IMG// > cube.lis 中的 | sed s/.IMG// 参数是什么意思?
  • sed变量的用法
  • 求住,sed命令
  • 关于sed脚本,高手快来解答
  • 求助:这个sed命令是什么意思?
  • sed linux 这句话什么 意思?
  • sed -i 修改文件内容
  • 【sed】简单匹配
  • (急)shell,sed 关于参数的传递
  • | sed 's/^/\ /' > 是啥意思啊
  • 在线等待,用sed命令如何替换整行?
  • 请教sed awk的用法详解,有命令说明的链接也不错,谢谢了
  • sed /awk 字段截取,Help!
  • 流编辑器 GNU sed
  • sed能不能在两个变量之间替换
  • 请问哪里可以下载到sed这个工具啊?
  • sed命令的替换的疑问
  • 送分啦!关于shell命令sed怎么用??


  • 站内导航:


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

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3