藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月26日 11:18


請教:一個腳本處理的問題

一個文本文件 "aaa.txt",裡面包含許多行逗號分隔的字段列。

問題:
"aaa.txt「的第三個字段,其值都是固定長度,並由若干個0開頭,某個數字結尾的字符串。比如:"0000001234","0003215068","0000000000","0789456023","0000000001"等等。
現在我想把該列的字符串中前端"0"都去掉,變成數值,比如上述都變為"1234","3215068","0","789456023","1".
請問:這如何實現?

另外:我現在對第五個字段要用一個函數來處理,現在採用對該文件一行行讀取,並對第五個字段處理。請問:有沒有什麼命令可以對一個文件的某個字段進行一次處理即可。

請教:一個腳本處理的問題

sed 's/"0\+/"/g;s/""/"0"/' aaa.txt

請教:一個腳本處理的問題

樓上的,不行呀

請教:一個腳本處理的問題

樓主,目前我還不太會用sed,所以只能給你一個比較笨的方法
把這些字符串賦值給幾個變量,同時定義這些變量為數值型:typeset -i variable-name
這樣系統就會自動幫你把這些字符串前面的0去掉的。

請教:一個腳本處理的問題

sed -e's/\"0*/\"/g filename|sed -e's/\"\"/\"0\"/g'

請教:一個腳本處理的問題

請教:一個腳本處理的問題

sed -e's/\"0*/\"/g' filename|sed -e's/\"\"/\"0\"/g'

請教:一個腳本處理的問題

to:lxr01  

按照你的方法,還是不行,前端的0沒有去掉

請教:一個腳本處理的問題

sed -e's/^.*$/,&,/g' a|sed -e's/\(0*\)\([1-9]\d*\)/\2/g'|sed -e's/,0\{1,\},/,0,/g'|sed -e's/^,\(.*\),$/\1/g'

請教:一個腳本處理的問題

to:lxr01

你的腳本有一個問題:如果數字中間有0,則也會被去掉,比如101,2008等

請教:一個腳本處理的問題

來個笨的吧。有"很不方便
[code]awk -F, '{gsub("\"","",$0);printf "\"%d\",\"%d\",\"%d\",\"%d\",\"%d\"\n",$1,$2,$3,$4,$5}' file
"1234","3215068","0","789456023","1[/code]

請教:一個腳本處理的問題

sed -e's/^.*$/,&,/g' a|sed -e's,/\(0*\)\([1-9]\d*\)/,\2/g'|sed -e's/,0\{1,\},/,0,/g'|sed -e's/^,\(.*\),$/\1/g'



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com