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


    

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


請教下文本文件編排轉換

有一個123.txt文件,內容如下:
390~~0~~1110~~[b]施琛國[/b]~~[b]3450013[/b]~~~~1~~~~~~221~~~~158~~230~~12~~0~~0~~93~~80~~558~~100~~60~~60~~60~~0~~45~~1677~~0~~18.35~~0~~0~~0~~0~~[b]1658.65[/b]
391~~0~~1110~~[b]金才佳[/b]~~[b]3450011[/b]~~~~1~~~~~~315~~~~231~~230~~21~~0~~0~~93~~110~~698~~100~~60~~15~~150~~0~~50~~2073~~0~~42.3~~0~~0~~0~~0~~[b]2030[/b]
392~~0~~1110~~[b]姚兆銀[/b]~~[b]3450012[/b]~~~~1~~~~~~320~~~~281~~230~~32~~0~~0~~93~~100~~628~~100~~60~~15~~90~~0~~50~~1999~~0~~40.9~~0~~0~~0~~0~~[b]1958.1[/b]
如何從123.txt文件中讀取,並生成排列成以下格式的文本456.txt

[b]00001金才佳    2030.00
000002姚兆銀    1958.10
000003施琛國    1658.65[/b]

[b]1、123.txt如何讀進來
2、選取文本中的三個黑體字段,按原編號進行排序
3、排好後重新編成6位的序號
4、金額的地方,都要轉換成有2位小數的
5、編號是6個字符,姓名是8個字符,金額是10個字符
6、生成一個新456.txt[/b]

簡單的說就是有一個123.txt文件,要按上面的格式生成一個新456.txt文本:cry:  :em16:  :em14:

請教下文本文件編排轉換

沒看出與這個有什麼不同:http://www.lslnet.com/linux/#forum/viewtopic.php?t=524904&show_type=

請教下文本文件編排轉換

因為我還不會用shell,而單位裡這個文本又急需轉換,所以求教,和上次發的區別在下面幾個方面:
1、123.txt如何讀進來
2、姓名前面的編號第一位要去掉
3、金額的地方,都要轉換成有2位小數的
4、如何生成符合要求的新文本:456.txt
5、編號是6個字符,姓名是8個字符,金額是10個字符
6、[b]要按編號進行排序[/b]

簡單的說就是有一個123.txt文件,要按上面的格式生成一個新456.txt文本

請教下文本文件編排轉換

[code]# awk -F"~+" '{printf "%s %s %.2f\n",$4,substr($5,2),$NF}' 123.txt >456.txt[/code]
-->

請教下文本文件編排轉換

[code]awk -F"~+" '{printf "%6s%8s%10.2f\n",substr($5,2), $4, $NF}' 123.txt >456.txt[/code]

請教下文本文件編排轉換

$NF是什麼意思?請問

請教下文本文件編排轉換

我也想知道,請達人指點 :oops:

請教下文本文件編排轉換

$NF是最後一個字段,NF是當前記錄的字段數,第一個字段編號為1,所以$NF就是最後一個字段。

請教下文本文件編排轉換

最後一列

請教下文本文件編排轉換

操作了一下,又發現一個問題,就是在文本中編號是打亂了的,還必須要按編號順序排列一下,排好後,重新開如編成6位的順序號如:
000001張三     1112.00
000002李四     1222.11
000003王五     5555.55
請問怎麼辦?

請教下文本文件編排轉換



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