正则表达式模式替换* .xml

时间:2011-01-19 11:56:07

标签: regex sed

我是正则表达的新手,并且不经常处理它,因此将其作为一个问题发布。

我想替换

blah.xml                  
haha.xml 

user/home/blah.xml           
user/home/haha.xml

我更愿意用sed来做。

干杯
SK

3 个答案:

答案 0 :(得分:2)

您可以将sed用作:

$ cat file
foo
blah.xml                  
haha.xml 
bar
$ sed -r 's#([^.]*\.xml)#user/home/\1#g' file
foo
user/home/blah.xml                  
user/home/haha.xml 
bar

要在评论中回答您的问题,请尝试:

$ echo "file is blah.xml" | sed -r 's#(\w+\.xml)#user/home/\1#'
file is user/home/blah.xml

答案 1 :(得分:0)

sed 's=\(.*\.xml\)=user/home/\1=g'

答案 2 :(得分:0)

sed -e 's#^#user/home/#'

在每行的开头插入user / home /。