2009-11-20 81 views
0

這裏是我運行的語句:grep的不.as文件正常工作

grep -i -H 'ConfigureControls' *.as 

請注意,我強迫的文件名與-H標誌。

我得到的回覆是:

}  } trac} } this.chairControls.debug.appendText("\nAn error occured when communicating with server:\n" + err.message);l);his.chairXML.storeResult; 
{ackage {ublic cpublic frequest = new URLRequest(this.chairXML.store);to: " + this.chairXML.store;noll 

沒有文件名,而文字也看起來非常的錯位(package已經成爲{ackage,例如)。這是怎麼回事?

+0

你能粘貼您的'.as'文件 – Elalfer 2009-11-20 01:48:23

+0

的例子它完美對我很好 'grep的--version GNU的grep 2.5.4' 檢查環境變量。 – Elalfer 2009-11-20 01:53:13

回答

2

聽起來好像你在一臺預計爲LF(unix)或CR/LF(DOS/Windows)的計算機上掠過舊的Mac(OS < = 9)CR eol式文件。

在這種情況下,它實際上是正確的,但終端正在將CR換行解釋爲「將光標移動到行首」,而不會在顯示時前進到空行。

如果你是一個類Unix系統(OSX應太),嘗試轉換EOL風格:

grep 'pattern' file | tr '\r' '\n' 

如果這樣的作品,你其實可以轉換文件的EOL風格有:

tr '\r' '\n' <file.as> fixed-file.as 
+0

除了進入每個單個文件並更改行結束符之外是否還有修復? – 2009-11-20 01:58:40

+0

大多數現代編輯都有相關設置。確保它保存爲Unix(甚至是DOS)。 http://en.wikipedia.org/wiki/Newline有更多信息和建議的轉換程序。 – scribble 2009-11-20 02:22:27

+0

此外,如果您使用FTP將文件從非Unix系統傳輸到Unix,請確保您的客戶端設置爲以ASCII模式傳輸.as文件,它應該自動轉換eol樣式。 – scribble 2009-11-20 02:24:30