我試圖通過bash將一個文本文件追加到另一個使用foo.txt >> bar.txt
。問題是,foo.txt的是windows文本文件(我認爲),因爲一旦在跳回到bar.txt附加如何在bash中轉換文本文件? (foo.txt到bar.txt)
every new^M
line^M
ends^M
like this.^M
因此,他們肯定是兩個不同的文件類型。
我向Google搜索了答案,但Google doesn't accept special characters like ">>" and "^" in search。我能找到的最接近的解決方案是a reported solution on commandlinefu.com,但它所做的只是從bar.txt中刪除r,實際上根本沒有解決方案。
所以,我這裏有兩個問題:
- 我怎麼發現,使用bash,什麼文件類型foo.txt的真的是?
- 如何正確轉換 foo.txt使其可以附加到bar.txt?
如何確定它是試圖將其轉換之前DOS文件? – trench
在vi中查看?如果在行尾有^ M個字符,它就是dos格式。或者如果您在Windows中,則將該文件加載到記事本中。如果你根本沒有換行符,它就是unix格式。 –
即使沒有回車符(^ M),'sed'命令也可以安全使用。 – brightlancer