我的道歉,如果這是一個新手問題。我不是一個Perl開發人員,但我正在嘗試在自動化過程中使用它,而且我遇到了一些障礙。如何使用Perl在大文件中快速修復EBCDIC控制字符?
以下命令在我的Linux系統(Ubuntu 9.10 x64,Perl 5.10)上運行很快(幾秒鐘),但在Windows系統(Windows 2003 x86,Strawberry Perl 5.12.1.0)上速度非常慢。
perl -pe 's/\x00\x42\x00\x11/\x00\x42\x00\xf0/sgx' inputfile > outputfile
查找/替換十六進制字符的圖案旨在以文件,它是爲2GB 500MB之間的尺寸以固定托架EBCDIC控制字符。我不確定這是否是最有效的方法,但它似乎有訣竅,只要它能在Windows系統上快速運行,就需要運行。
有什麼想法?
什麼是你的Windows外殼程序?我不認爲單引號在標準CMD shell中作爲參數分隔符工作。 – mob 2010-09-29 19:12:54
只是標準的CMD外殼。過去我沒有單引號的問題,但是我還沒有在Perl之前使用過。我現在用雙引號運行,並顯示相同的行爲。 – rickyboone 2010-09-29 19:48:31
所以你發佈的命令行在Windows上工作,但它只是工作緩慢? – mob 2010-09-29 20:00:32