sed替换双引号中的字符串

echo "aaa \"123456\"" | sed 's/[0-9]?/111111/'
不是应该会变成 aaa "111111"
怎么还是 aaa "123456"

2个回答

echo "aaa\"123456\""|sed -n 's/[0-9]+/111111/p'

jack4096
jack4096 回复pangpui: 这个回复框,刚我看,转义还在。+号在内容中需要转义才表示一个到多个
接近 2 年之前 回复
jack4096
jack4096 回复pangpui: echo "aaa\"123456\""|sed -n 's/[0-9]\+/111111/p' 加号前要转义,应该是开始回复的富文本把我的转义给去掉了
接近 2 年之前 回复
pangpui
挪威森林的猫 谢谢解答,但是我敲了下,没有任何输出呢
接近 2 年之前 回复
echo "aaa \"123456\"" |sed "s/123456/111111/g"
 打印结果:
 aaa "111111"

 //不能换为:echo "aaa \"123456\"" |sed "s/[0-9]/111111/g",这样会对“123456”中每个数字都进行一次替换,其结果就 为:
 aaa "111111111111111111111111111111111111"

若有帮助,还望采纳!!!谢谢。。。

pangpui
挪威森林的猫 谢谢解答,不过我的目的是为了替换双引号中的内容,不一定是123456,所以我再[0-9]这边加了“+”
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问