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


    

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


請高手幫助 關於篩選文本問題(已經說明規則)?

我有一個文本文件 (UNIX) 下的:

88664001234001D 100
88664001234001D 200
88400661234001D 300
88400661234001D 400
88400661234001C 500
88400661234001C 600
88664001234001C 700
88664001234001C 800
88664001234001C 900
88400661234001C AAA
88400661234001C BBB
88400661234001C CCC
如何根據第一列 3--6位 和 最後一位 字母 將其改為:
100 700  300 500  
200 800  400 600
       900        AAA
                    BBB
                    CCC

即按照以下規則排列:
88664001234001D 88664001234001C  88400661234001D 88400661234001C

請高手幫助 關於篩選文本問題(已經說明規則)?

呵呵,沒有看明白轉換規則。

請高手幫助 關於篩選文本問題(已經說明規則)?

??????

請高手幫助 關於篩選文本問題(已經說明規則)?

still blur

請高手幫助 關於篩選文本問題(已經說明規則)?

?????

請高手幫助 關於篩選文本問題(已經說明規則)?

paste $(awk '{a=substr($1,3,4)""substr($1,15);print $2>a;b[a]++}
END{ for(i in b) printf i" "}' [color=blue]yourfile[/color]|sort)

請高手幫助 關於篩選文本問題(已經說明規則)?

首先 感謝 waker  光明使者  

我按照您的代碼運行 出現〞 syntax error at line 1: `(' unexpected
錯誤 

 請您指教 謝謝 

請高手幫助 關於篩選文本問題(已經說明規則)?

用gnu bash

請高手幫助 關於篩選文本問題(已經說明規則)?

換一種更直觀的
[code]awk '{a=substr($1,3,4)""substr($1,15);print $2>a;b[a]++}       END{ for(i in b) printf i" "}' yourfile|sort|xargs paste
[/code]

請高手幫助 關於篩選文本問題(已經說明規則)?

sco unix5.0.5下 沒有 gnu bash  ????

請高手幫助 關於篩選文本問題(已經說明規則)?

那就試試第二種,注意 xargs 與paste 寫在一行

請高手幫助 關於篩選文本問題(已經說明規則)?

我用第二種方法出現:

   awk: can't open file yourfile: No such file or directory (error 2)
source line 1 of program << {a=substr($1,3,4)""s ... >>

請高手幫助 關於篩選文本問題(已經說明規則)?

yourfile是指你要處理的文件 :mrgreen:
神仙?妖怪?謝謝

請高手幫助 關於篩選文本問題(已經說明規則)?

我的文件名 取名 ff1
執行後出現:
   awk: null file name in print or getline
    input record number 2, file ff1
   source line 1 of program << {a=substr($1,3,4)""s ... >>



    謝謝您了

請高手幫助 關於篩選文本問題(已經說明規則)?

[code]awk '{a=substr($1,3,4)substr($1,15);print $2 > a;b[a]++}       END{ for(i in b) print i}' yourfile|
sort -r|xargs paste[/code]
試試
什麼版本的awk?



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