画像に青色で表示されている特殊文字を削除する方法 1 like:^ M、^ A、^ @、^ [。私の理解では、^ MはWindowsの改行文字です。sed -i '/^M//g'
を削除しますが、他を削除することはできません。コマンド dos2unix
も機能しません。両方を削除するために使用できる方法はありますか?
sed
を使用して、印刷可能文字(文字クラス[:print:]
)を除くすべてを削除します。
sed $'s/[^[:print:]\t]//g' file.txt
[:print:]
に含まれるもの:
[:alnum:]
(英数字)[:punct:]
(句読点)ANSI Cのクォート($''
)は、\t
を$''
(bash
など)内のリテラルタブとして解釈するために使用されます。
コマンドがSedの限られたスコープで機能することを確認するには、 "C"(POSIX)文字分類 の使用を強制して、非ASCII文字での予期しない動作を回避します。
LC_ALL=C sed 's/[^[:blank:][:print:]]//g' file.txt
Linuxコマンドプロンプトで以下のコマンドを実行してみてください
オプション-1:(dos2unixコマンドがLinuxマシンにインストールされている場合)
dos2unix sample_file.txt
オプション-2:
cat sample_file.txt | tr -d '\015' > new_sample_file.txt