免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1665 | 回复: 6
打印 上一主题 下一主题

请问如何解决命令行sed时模式空间包括引号的情况,help [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-31 15:15 |只看该作者 |倒序浏览
如果不用-f指定sed脚本,直接在命令行中应该怎么使匹配字符串中的引号被正确识别呢?我本来以为\符号是可以用来转义的,但是不行。。。只有单引号或双引号的时候可以用另一种来引用,但是如果搜索字符串中既有单引号也有双引号呢?请大侠帮忙.

论坛徽章:
0
2 [报告]
发表于 2004-05-31 15:36 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

怎么会不行呢?
如:文件中有 there is a "sign" and 'sign'
将"替换为空, s/\"/\ /g
将'替换为^, s/\'/\^/g

论坛徽章:
0
3 [报告]
发表于 2004-05-31 16:00 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

cat a.txt
asdf'asdf'asdf'
asdf"asdsd"asdf'sdf"
将文本中的单引和双引都替为空格:
  1. sed "s/\"/ /g;s/'/ /g" a.txt
复制代码


没什么根据,瞎试出来的

或这样:
  1. sed "s/[\"']/ /g" a.txt
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-05-31 16:05 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

在命令行,一个-e语句内?
能不能给出完整的命令,比如在一个文件中搜索there is a "sign" and 'sign'这个字符串,一定要在一个-e命令完成哦,  

论坛徽章:
0
5 [报告]
发表于 2004-05-31 16:10 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

明白了,谢啦:)
我本来以为单引号和双引号地位一样呢,

论坛徽章:
0
6 [报告]
发表于 2004-05-31 16:10 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

原帖由 "wosai" 发表:
在命令行,一个-e语句内?
能不能给出完整的命令,比如在一个文件中搜索there is a "sign" and 'sign'这个字符串,一定要在一个-e命令完成哦,  

  1. sed -n "/there is a \"sign\" and 'a'/p" file

  2. 若匹配就显示出了.不知行否.?
复制代码

论坛徽章:
0
7 [报告]
发表于 2004-05-31 16:20 |只看该作者

请问如何解决命令行sed时模式空间包括引号的情况,help

行,看了你的代码我才发现双引号里可以用\"转义双引号,在单引号引用里\'就不能转义单引号,是我自己想当然了,赫赫,谢啦:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP