同じファイル^ MからPerl Onelinerを介してSolarisから削除されました。

同じファイル^ MからPerl Onelinerを介してSolarisから削除されました。

通常、ファイルから^Mを削除するには、次のようにします。

dos2unix test.txt test.txt

tr -d '\r' < old.file > new.file

しかし、この方法は新しいファイルを作成する必要があると主張します。

他のファイルを生成したくない場合は、解決策は次のとおりです。perl onelinerの例

perl -pi -e 's/^M//g' file1

Solarisでこれを試しましたが、不明な理由で^ Mはまだファイルに存在しますか?

ここで何が問題なのかアドバイスをお願いします

ベストアンサー1

Perlには\r以下も必要です。

perl -pi -e 's/^M//g' file1
               ^^ - should be \r

実際にはそうかもしれませんが、ただ行末にこだわりたいです。

perl -pi -e 's,\r\n,\n,g' file1

実際には、これを行うためにPerlは必要ありません。sed以下を完全に実行できます。

sed -i.bak -e 's,\r\n$,\n,g' file1

おすすめ記事