Ubuntu‘dos2unix’ 無法將
‘dos2unix’ 無法將 typescript
文件轉換為 Unix 格式
我使用命令記錄了我目前的會話
script
,所有資訊都保存在一個typescript
文件中,但是當我使用Vim打開它時,^M
由於輸入而出現了很多s。我嘗試使用該
dos2unix
命令將此文件轉換為 Unix 格式,但我無法這樣做。它給出了這個錯誤:dos2unix: Binary symbol 0x1B found at line 2,dos2unix: Skipping binary file typescript.
我只是好奇為什麼會這樣。為什麼以形式而不是簡單的形式
script
產生輸出?CR/LF``LF
typescript
保存發送到終端的所有內容,其中可能包括用於定位、顏色、亮度等的轉義序列(0x1B
是 ESC 字元。)即使通常以文本文件結尾的行不同,終端輸出也包含 CR 和 LF。該字元假設您的輸入可能是二進製文件
0x1B
。dos2unix
因為修改二進製文件可能沒有用,dos2unix
預設拒絕這樣做。除此之外,轉義字元沒有問題。您可以嘗試
dos2unix -f
強制轉換看似二進製文件。這樣你就告訴它你知道修改這個文件中的行尾是安全的。或用於
vim
刪除 CR 字元。:%s/``CTRL
+V
CTRL
+M
ENTER
如果每行可能有多個 CR
:%s/``CTRL
+V
CTRL
+M``//g
ENTER