我是正则表达的新手,并且不经常处理它,因此将其作为一个问题发布。
我想替换
blah.xml
haha.xml
到
user/home/blah.xml
user/home/haha.xml
我更愿意用sed来做。
干杯
SK
答案 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 /。