dos2unix、perl、tr、およびsedが存在しないファイルからCtrl-Mを削除する方法は?

dos2unix、perl、tr、およびsedが存在しないファイルからCtrl-Mを削除する方法は?

dos2unixperlおよび存在するtr非常に古いUNIXサーバーで作業しているとしますsed。ファイルを移動する方法DOS到着Unix滞在?

答え1

私は行の終わりを取り除くキャレット-Mに言及していると思います。 viで検索と置換を使用してこれを行うことができます。

viでは通常これを行います:(ここで「^」はCTRLを表します):

:%s/^V^M//g

画面には以下が表示されます。

:%s/^M//g

答え2

trサーバーが存在しないか、非常にsed古いか、いくつかの基本コマンドがありません。希望edはそこに存在します。Unixバージョン1

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

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

関連情報