in

SDT Community Server

SDT Forums, Blogs, Photos server.

alex

Unix下用sed命令把含有制表符的文本文件转为XML格式

---命令

sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' -e '1s/^/<?xml version=\"1.0\"?><table><row><cell>/'  -e s/" "/"<\/cell><cell>"/g -e s/.$/"<\/cell><\/row><row><cell>"/g  -e '$s/$/<\/table>/' -e s/"<row><cell><\/table>"/"<\/table>"/g  file_from > file_to


---說明
-e :a -e '/^\n*$/{$d;N;ba' -e '}'  :去掉文件尾的空行

-e '1s/^/<?xml version=\"1.0\"?><table><row><cell>/'  :在文件头加Xml开始标记

-e s/" "/"<\/cell><cell>"/g :把制表符替换成XML列标记,这里的" "是制表符,直接键入的

-e s/.$/"<\/cell><\/row><row><cell>"/g :把换行符替换成XML行标记

-e '$s/$/<\/table>/' :在文件尾添加XML结束标记

-e s/"<row><cell><\/table>"/"<\/table>"/g  :把最后一行的标记修正

file_from :源文件

file_to:目标文件

 

Comments

 

wicky said:

劲啊劲!
March 14, 2006 7:03 PM
Copyright SDT, 2006-2009. All rights reserved.