我有一些文本格式的數據文件,它們有幾行。現在有一些行有錯誤的數據,我需要使用那些具有正確數據的數據進行更新。例如,用另一個文件更新文件的一行的Perl腳本
Col1 Col2 Col3 Col4 .......
A1?% A foo fooo .......
B€(2 B .................
C&6 Z .................
A?04 Y .................
B++3 Q .................
C!5 C .................
D*9 D .................
實際數據是不同的,但這是它的簡化版本。正如你所看到的,有一些Col1,其中A1是A,但A4是Y等等。 Col3,Col4的其餘列依賴於Col2。所以,當Col1中有一個A(A1,A2,A3等)時,我需要檢查Col2是否爲A.如果沒有,我必須更新Col2,Col3 ....基於它是A的行。
這怎麼可能在Perl中完成。我知道這種操作可以在具有更新語句的數據庫中完成,但我並沒有那麼奢侈,而必須以編程方式進行。
編輯:這些文件是製表符分隔的,數據是可以包含任何字母數字或ascii字符的字符串。
請說明:數據是否存儲在空格分隔的文件中?單元格是否只能包含字母數字字符? A1的優先級高於A4,因爲它的編號較低,或者它的排較高? – Tim 2011-02-07 16:39:05
我認爲你覺得你有點清楚,但是你說你可以在數據庫中這樣做,也許如果你發佈了類似的SQL,我們可以更好地瞭解1)你試圖更新什麼,2) ,3)在什麼條件下。 – Axeman 2011-02-07 17:20:08
@Tim我添加了我似乎忘記添加的信息。這些單元格可能包含任何字符,而A1具有更高的優先權,因爲我知道Col2在這種情況下是A,所以它是手動查找的位。 – sfactor 2011-02-08 07:27:56