Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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