Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Win環境下に移植した自動スクリプトでCR(¥r)が邪魔をするならtrコマンドで消してしまう

"¥r"を消したいなら、tr -d '\r'で楽ちん。

実際のところ

別に退避させたファイルリストをつかってcpをやろうとしたところ……
"¥rなんか知らんわ"
とまるで見に覚えの無いエラーを吐いてこれまで動いていたスクリプトが完全にとまりました
ついさっきGit for Windowsbashなら動いたやん!

これはOSによって改行コードが違う事からおこる話です
Windowsだと¥r¥nなのに対して、UNIX系だと¥nですからね

$ printf "sample\r\n" | tr -d '\r' | od -c
0000000    s   a   m   p   l   e  \n                                    
0000007
$ printf "sample\r\n" | tr -d '\r' | od -c
0000000    s   a   m   p   l   e  \n                                    
0000007


OS環境ごとの改行文字列(\r\n|\n)を取得するには?[C#、VB] - @IT