2011-12-01 31 views
2

我已經下載源代碼從SVN在Linux上一些軟件,並希望構建它:更換新線字符到Linux格式

$ ./configure 
bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory 

字符^ M是\ r回車符。當我將文件的行結尾更改爲Linux格式時,它開始工作,但是有很多這些文件,並且手動難以完成。如何將目錄及其子目錄中的所有文件中的行結尾更改爲Linux格式?

回答

2

使dos2unix轉換目錄中的每個文件。

find . -type f -exec dos2unix {} \; 
1

像這樣的事情會發現「* .SH」結尾的所有文件,並呼籲他們dos2unix轉換行結尾:

​​

要查找所有文件,傳遞到-type ffind指定-name參數。有關更多詳細信息,請參閱A Unix/Linux find Command Tutorial

2

您可以使用dos2unix(可能位於名爲「tofrodos」的包中),這會在原地更改文件。

dos2unix input 

或者如果你想這麼做很簡單,你可以用你的文件刪除所有\ r。

tr -d '\r' <input> output 
+0

對於'tr',+1是我最喜歡的工具之一! – 2011-12-01 13:58:17

0

有一些像dos2unix/unix2dos這樣的工具,舊的工具來自dos/todos。