2012-02-17 111 views
1

我有以下sed,它完美的工作,但我不喜歡流,因爲它輸出結果的每一行。代碼的第二部分代表我正在嘗試整合的內容,但輸出不正確。任何人都可以協助在第二部分中的這段代碼將我的結果扔出wack -i -e「:a; N; $!ba; s/\ n// g」,它可以在頂層代碼中正常工作,但我無法添加它在第二個代碼中寫出結果集。我只是試圖正確地寫這個。sed在Windows環境中的正確方法

sed -i "1,275d" ConedScrape_494202320000008.txt 
sed -i -r "s/>/>~/g; s/</~</g;" ConedScrape_494202320000008.txt 
sed -i -r "s/~~//g" ConedScrape_494202320000008.txt 
sed -i -e :a -e "s/<[^>]*>//g;/</N;//ba" ConedScrape_494202320000008.txt 
sed -i "s/\s/\n/g" ConedScrape_494202320000008.txt 
sed -i -n -e ":a" -e "$ s/\n/ /gp;N;b a" ConedScrape_494202320000008.txt 
sed -i -e "s/^[ \t]*//" ConedScrape_494202320000008.txt 
sed -i -e "s/\r//" ConedScrape_494202320000008.txt 
sed -i -e "s/&nbsp;*/,/g; s/--*/--,/g" ConedScrape_494202320000008.txt 
sed -i -e "s/ //g; s/If you have any problems or questions please contact us at  [email protected]//g;" ConedScrape_494202320000008.txt 
sed -i -r "s/,//g; s/~~,/,/g; s/~~/,/g;" ConedScrape_494202320000008.txt 
sed -i -r "s/, /,/g; s/,~/,/g;" ConedScrape_494202320000008.txt 
sed -i -r "s/,,/,/g; s/~ ,//g;" ConedScrape_494202320000008.txt 
sed -i -r "s/,,/,/g" ConedScrape_494202320000008.txt 
sed -i -r "s/,, , , ,If you have any problems or questions please contact us at ,[email protected],,//g" ConedScrape_494202320000008.txt 
sed -i -r "s/,,/,/g; s/, ,//g; s/,Tension Code,Stratum Variable,ICAP,PFJ ICAP,Residential %%,LBMP Zone//g; s/,Trip Number,Service Class,Previous Account Number,Min Monthly Demand,TOD Code,Profile,Tax,Muni//g; s/,From Date,To Date,Use,Demand,Bill Amt//g;" ConedScrape_494202320000008.txt 
sed -i -r "s/, //g;" ConedScrape_494202320000008.txt 

第二部分代碼。

@echo off 
sed -i -e "1,275d"^
-r -e "s/>/>~/g; s/</~</g;"^
-e "s/~~//g"^
-e :a -e "s/<[^>]*>//g;/</N;//ba"^
-e "s/\s/\n/g" ConedScrape_494202320000008.txt 
sed -i -e ":a;N;$!ba;s/\n/ /g" ConedScrape_494202320000008.txt 
sed -i -e "s/^[ \t]*//"^
-e "s/\r//"^
-e "s/&nbsp;*/,/g; s/--*/--,/g"^
-e "s/,//g; s/~~,/,/g; s/~~/,/g;"^
-e "s/\n/ /g;"^
-e "/^$/d"^
-e "s/^\([^,]*,\)\{2\}//"^
-e "s/,Tension Code,Stratum Variable,ICAP,PFJ ICAP,Residential %%,LBMP Zone//g"^
-e "s/,Trip Number,Service Class,Previous Account Number,Min Monthly Demand,TOD Code,Profile,Tax,Muni//g"^
-e "s/,From Date,To Date,Use,Demand,Bill Amt//g;"^
-e "s/, /,/g;"^
-e "s/ ,/,/g;"^
-e "s/,,//g;"^
-e "s/, , ,If you have any problems or questions please contact us at,[email protected]//g;" ConedScrape_494202320000008.txt 

回答

1

如果你有大量的sed命令,你可以把它們放入一個文件,並使用:

$ cat script.sed 
s/foo/bar/g 
s/xxx/yyy/g 

$ sed -i -f script.sed data.txt 
相關問題