WindowsとLinuxやUNIXでファイルをやり取りしているとき
注意してftp等を行なわないと発生することがある
Windowsと,LinuxやUNIXでは改行コードが異なることが原因
これを消すためのシェルスクリプトが下記のもの
消す前のファイルを file.back という形で残しておく機能付き
#!/bin/sh # # :%s/^M//g # vi :%s/Ctl-v Ctl-m//g perl -i.back -npe 's/\r\n/\n/' $1
これを deleteM.sh というファイルに書き込んだとする
ファイルに実行権限を付けて使う
> chmod +x deleteM.sh
file.txt というファイルに入ってる"^M"を消したい場合は次のようにする
> deleteM.sh file.txt
シェルスクリプト内にも書いてあるが vi で変換したい場合は
> vi file.txt
としてファイルを開いてから":%s/^M//g"という置換を行なえばよい
だが"^M"は,"^"と"M"の組合せではなく"Ctrl-v""Ctrl-m"と入力する