2011-01-19 23 views
1

正規表現が初めてです。定期的に対処しておりませんので、質問として投稿してください。正規表現パターン置き換え* .xml

私はSEDでそれを行うことを好むだろう

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

blah.xml     
haha.xml 

を交換したいです。

乾杯
SK

答えて

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 
+0

ありがとうございます私の質問にわずかな変更を行います。 "file is blah.xml"を "file is /user/home/blah.xml"に変更するには – Kamath

+0

ファイル名に一致する文字が多いため、ファイル名の一致を広げます。クラス '\ w'。 –

0
sed 's=\(.*\.xml\)=user/home/\1=g' 
0
sed -e 's#^#user/home/#' 

inser ts user/home /と入力します。

関連する問題