|
藍森林 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' |
| |