dos2unixを使用せずにWindowsスタイルEOLからUnixスタイルEOLにファイルを変換します。

dos2unixを使用せずにWindowsスタイルEOLからUnixスタイルEOLにファイルを変換します。

私が使用している古いサーバーにはこの機能はありません。dos2unixWindowsスタイルのEOL(行の終わり)を含むファイルをUnixスタイルのEOLに変換したいと思います。残念ながら、私は管理者ではないのでインストールできませんdos2unix。このtr方法が効果がある唯一の方法のようです。

cp script _p4 && tr -d '\r' < _p4 > script && rm _p4

これを行うより簡単な方法はありますか?

答え1

GNU sedがある場合は、次のようにできます。

sed -i 's/\x0D$//' script

ここで、「x0D」は\ rのASCIIコードです。

答え2

いつでもスクリプトを作成できます。

#!/bin/sh
for name in "$@"
do
    cp "$name" "$name"~ && tr -d '\r' < "$name"~ > "$name" && rm "$name"~
done

名前を付けてくださいdos2unix。コンパイラは必要ありません。

答え3

このコマンドは、dos2unixをインストールせずにEOL文字を変換するために使用できます。

sed -i 's/.$//' script

関連情報