dos2unix、perl、tr、sed が存在しないファイルから Ctrl-M を削除するにはどうすればよいでしょうか?

dos2unix、perl、tr、sed が存在しないファイルから Ctrl-M を削除するにはどうすればよいでしょうか?

dos2unix、、、perlが存在しない非常に古いUNIXサーバーで作業しているとします。trファイルをsedするユニックスフォーマット?

答え1

行末のキャレット M を削除することを指していると思います。これを行うには、vi で検索と置換を使用できます。

vi では通常、次のようにします (「^」は CTRL を表します)。

:%s/^V^M//g

画面には次のように表示されます:

:%s/^M//g

答え2

trまたはのないサーバーはsed、かなり古いか、基本的なコマンドが欠けている必要がありますedUnix 初版

ed /path/to/file
1,$s/^V^M$//
w
q

ここで、+と入力してから+と^V^M入力する (文字どおりの改行を入力する) ことを意味します。すべての行が CR LF で終わることが分かっている場合は、代わりに を使用できます(各行の最後の文字を無差別に削除します)。CtrlVCtrlM1,$s/.$//

関連情報