質問: チームでプログラムしていると時々、ファイルの文字コードや改行コードを乱してしまう人がいます。私のチームでは`ruby on rails`を使った開発をしていて、ホストサーバーを`CentOS`と定めているため、最初から文字コードを`UTF-8`、改行コードを`LF`のみと定めています。 間違いの大半は`windows`で編集したファイルの改行コードが`CR`+`LF`に変換保存されてしまうことで起きています。それ自体は仕方ないのですが、何度も手で直すのが苦痛になってきました。 `vi`で直すにはファイルをいちいち開かねばならず(しかも`vi`にそれほど詳しくもなく)、`sed`や`tr`コマンドを使うことも考えましたが、一旦オリジナルのファイルをどこかに退避させないと、元のファイルを上書きできません。 それで、`ed`や`ex`を使うスクリプトを作ればバッチでファイルの直接編集・保存ができるので上手くやれるんじゃないかと思いついた次第です。 ですが制御文字を`ed`/`ex`で書き換えるサンプルを手早く見つけることができず、もしご存知の方がいらしたら教えていただけるとありがたいです。よろしくお願いします。
回答: edやexである必要はありません。 sed の `-i` オプションを使えば、in-placeで(オリジナルを退避させずに)置き換えができます。 そのため以下のようなコマンドで、改行コードの変更ができるでしょう。 ``` sed -i -e 's/\r$//' [INPUT_FILES]... ``` ただしCygwinやMinGWでは設定によっては上手くできない場合があることには注意してください。