源文本 | 替换成 或者替换成
网上各种华丽的解法:
test@sever:/tmp> sed -r ':1;N;$!b1;s/\s+/ /g' 1
test@sever:/tmp> xargs <1
test@sever:/tmp> echo $(cat 1)
test@sever:/tmp> awk 'BEGIN{RS="[<>]"}{$1=$1}1' 1
temp name="old"
text path="/www/ftp"/
/temp
test@sever:/tmp> sed -r -e '/^$|^[ \t]+$/d' -e 's/^[ \t]+//' 1 | sed -r '/<.*>/!N;s/\s+/ /g'
test@sever:/tmp> sed -r ':1;/<.*>/b2;N;b1;:2;s/[ \n]+/ /g;' 1
我的解法:
test@sever:/tmp> awk '!/>$/{while(a!~/>$/){getline a;a=$0" "a};gsub("[ \t]+"," ",a);print a;a="";next}{gsub(/[ \t]+/," ",$0)}1' 1
test@sever:/tmp> awk '{a=a" "$0}END{sub("^ +","",a);gsub("[ \t]+"," ",a);print a}' 1