2011-12-10 52 views
-3

我有幾行文本文件。如何使用Linux中的工具自動轉換文本文件?

我想要做以下事情: 1.刪除前14個字符。留下接下來的8個字符。然後刪除行中的所有內容。

然後,文件看起來像這樣。

20050013 
AC040020 
AC050024 
  1. 在每一行的開頭,我想補充一點像RAM [N] =「H,其中n不斷遞增。我也想添加一個;最後。

然後將文件看起來像這樣

RAM[0] = 'h20050013; 
RAM[1] = 'hAC040020; 
RAM[2] = 'hAC050024; 

必須有文件中的10個條目。所以,我想補充剩餘的條目,並將其設置爲0,該文件最終是這樣的:

RAM[0] = 'h20050013; 
RAM[1] = 'hAC040020; 
RAM[2] = 'hAC050024; 
RAM[3] = 'h00000000; 
RAM[4] = 'h00000000; 
RAM[5] = 'h00000000; 
RAM[6] = 'h00000000; 
RAM[7] = 'h00000000; 
RAM[8] = 'h00000000; 
RAM[9] = 'h00000000; 

我想我可以用一個perl腳本或vi。這個過程如何實現自動化?

+0

如何通過只保留8個字符來獲得3行4(十六進制,我假設)的字符?你的解釋非常混亂。 – BatchyX

+0

開始時每行有8個十六進制字符。 –

回答

1

使用Awk。

{ 
    printf("RAM[%d] = '%s;\n", NR - 1, $0) 
} 

(假如把它放在foo.awk,然後運行您的數據awk -f foo.awk。)

1

這是很容易做到AWK。使用子字符串和$ NR

相關問題