各行の先頭に行番号を追加してファイルを変更したいと思います。次のコマンドがこれを行うことがわかりました。
cat file | perl -pe '$_ = "$. $_"' > file_with_line_numbers
これは機能しているようですが、vim でファイルを開くと、^@ と ^M の文字でいっぱいです。さらに調査すると、エンコーディングが変更されていることがわかります。
> file -bi file
text/plain; charset=utf-16le
> file -bi file_with_line_numbers
application/octet-stream; charset=binary
ここで何が欠けていますか?