Ubuntu

‘dos2unix’ 無法將 typescript 文件轉換為 Unix 格式

  • February 6, 2020

我使用命令記錄了我目前的會話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。

該字元假設您的輸入可能是二進製文件0x1Bdos2unix因為修改二進製文件可能沒有用,dos2unix預設拒絕這樣做。除此之外,轉義字元沒有問題。

您可以嘗試dos2unix -f強制轉換看似二進製文件。這樣你就告訴它你知道修改這個文件中的行尾是安全的。

或用於vim刪除 CR 字元。:%s/``CTRL+ V CTRL+M ENTER

如果每行可能有多個 CR :%s/``CTRL+ V CTRL+M``//g ENTER

引用自:https://unix.stackexchange.com/questions/531858