脚本内容为
#!/bin/bash
str='hello \w wolrd'
echo $str
echo $str|sed '/\\w/Linux/'
想把\w 替换为Linux
执行结果:
user@passwd:/tmp$ ./file.sh
hello \w wolrd
sed:-e 表达式 #1,字符 7:extra characters after command
请问要怎么写才能正确地把\w替换掉, 谢谢!
请教一个sed替换的问题
- 烟雨平生
- 帖子: 103
- 注册时间: 2006-07-06 16:35
- 联系:
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
- 烟雨平生
- 帖子: 103
- 注册时间: 2006-07-06 16:35
- 联系:
Re: 请教一个sed替换的问题
唉,弄错了一个地方,少了个s
迷住了,迷住了。
谢谢!
迷住了,迷住了。
谢谢!
-
- 帖子: 174
- 注册时间: 2010-11-09 3:06
Re: 请教一个sed替换的问题
anth@cn:~$ echo hello \\w wolrd | sed s/\\w/linux/
linuxello \w wolrd
anth@cn:~$ echo hello \\w wolrd | sed 's/\\w/linux/'
hello linux wolrd
为什么加上引号就可以了,不加引号好像可以用正则表达式,功能强大点,加引号只操作字符?
linuxello \w wolrd
anth@cn:~$ echo hello \\w wolrd | sed 's/\\w/linux/'
hello linux wolrd
为什么加上引号就可以了,不加引号好像可以用正则表达式,功能强大点,加引号只操作字符?
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 请教一个sed替换的问题
去学习下 shell 基本语法吧。anth 写了:anth@cn:~$ echo hello \\w wolrd | sed s/\\w/linux/
linuxello \w wolrd
anth@cn:~$ echo hello \\w wolrd | sed 's/\\w/linux/'
hello linux wolrd
为什么加上引号就可以了,不加引号好像可以用正则表达式,功能强大点,加引号只操作字符?