DOSテキストファイルをUnixに変換

DOSテキストファイルをUnixに変換

DOS形式のPHPスクリプトが複数あります(ステータスバーに表示されviます[noeol] [dos])、期待どおりに使用できません。

dos2unix私は行末を修正するためにそれらを実行しました。

dos2unix index.php

ただし、ファイルを開くとステータスバーviに表示されます。[noeol]

viの16進エディタモード( )で確認した結果、:%!xxd驚くべき内容はありませんでした。

ソースファイルの行末は次のようになります。0x0D 0x0A

実行後に次dos2unixのような場合:0x0A

また、ファイルの最後の行に正しい行の終わりがあり、そこにもあることを確認しました(0x0A)。

また何がこの問題を引き起こす可能性があり、心配する必要がありますか?

私はCentOS 5.6 x64を実行しています。

ベストアンサー1

@Kloxが言ったように、それ以降のrunning dos2unix残りの問題はvi最後の行に改行がありません。

ファイルを開いてvi保存すると、改行が追加されます。

または、全体の操作をまとめて実行することもできますed

#!/bin/bash
for f in <list-of-files-goes-here>; do
    ed -s -- "$f" <<<$',s/\r//g\nw' >/dev/null
done

おすすめ記事