◎WindowsでつくったファイルをUnixで読み書きする
<テキストファイルの改行コードを変更>
- ftp 転送時に変換してもらう(FFFTPなどの機能を使う)
Win => Linux への転送時に,ASCII 転送を選択して送る.
ファイル容量(バイト数)が行数だけ違うはず.
- Linux 側で対応する
- Windows→Unix
-d オプションを付けると、文字を削除することができるので、Windows・DOS の改行コード 0x0D 0x0A を 0x0A に変換するには、
cat hoge.txt | tr -d '\015' > hoge_linux.txt
- Mac→Unix
Mac のファイルは改行コードが 0x0D (8進で 015) だが、これを UNIX の改行コード 0x0A (8進で 012) に変換するには、
cat hoge.txt | tr '\015' '\012' > hoge_linux.txt
hoge.txt と hoge_linux.txt は,エディタでは同一に見えるが、ファイルサイズが違う。
wcコマンドで行数や文字数を数えたりしても違う。
!
コマンド処理するときにエラ−がでるので、Linux用に変換すること。
!
shを組んで上手く動かなかったら、テキストファイルの場合、これが問題のことがよくある。
要チェック。
<< 参考ペ−ジ >>
- 早崎さんのホームページ(NIES内部からの見閲覧可能)
http://158.210.95.148/~hayasaki/unix/CTRL-M
http://www.rsch.tuis.ac.jp/~mizutani/online/with-pc/textline.html
http://www.rescue.ne.jp/cgi/crlf/