分页: 1 / 1
请教一个sed替换的问题
发表于 : 2012-05-10 14:43
由 烟雨平生
脚本内容为
#!/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替换掉, 谢谢!
Re: 请教一个sed替换的问题
发表于 : 2012-05-10 14:45
由 eexpress
● str='hello \w wolrd'; echo $str|sed 's/\\w/Linux/'
hello Linux wolrd
Re: 请教一个sed替换的问题
发表于 : 2012-05-10 15:06
由 lilydjwg
s
Re: 请教一个sed替换的问题
发表于 : 2012-05-10 15:55
由 烟雨平生
唉,弄错了一个地方,少了个s
迷住了,迷住了。
谢谢!
Re: 请教一个sed替换的问题
发表于 : 2012-05-23 11:15
由 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
为什么加上引号就可以了,不加引号好像可以用正则表达式,功能强大点,加引号只操作字符?
Re: 请教一个sed替换的问题
发表于 : 2012-05-23 13:54
由 lilydjwg
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
为什么加上引号就可以了,不加引号好像可以用正则表达式,功能强大点,加引号只操作字符?
去学习下 shell 基本语法吧。