發表文章

目前顯示的是 5月, 2016的文章

[筆記] Mac內建播放聲音指令 afplay

圖片
今天突發奇想,用指令在終端機裡面播放音樂 隨手查了一下 在這裡找到了 http://hints.macworld.com/article.php?story=20081002080543392 指令: afplay 音樂檔 想要查看指令詳細說明 afplay -h 來試試看囉

[筆記] CRLF跟LF之區別 --- 隱形的 bug

圖片
最近在當助教時,偶然間遇到一個隱形的Bug 為什麼稱之為隱形呢? 請見下面兩張圖 說明:answer.txt 與 answer_test.txt 這兩個檔案的內容用文字編輯器打開時,完全一模一樣,但是我在使用 diff 指令的時候居然出現判定為每一行都不一樣的情形 指令 diff answer.txt answer_test.txt 由最上面第一張圖中可以注意到,answer.txt 的檔案大小是 958 byte answer_test.txt 的檔案大小則為 924 byte 此時不禁讓我疑惑到,兩個檔案內容相同,空白數量也完全相同的情況下,造成檔案大小不同的原因是什麼呢? 下圖說明了一切 原來在 answer.txt 檔案當中,他的換行是採用 CRLF 而 answer_test.txt 的換行則是一般UNIX的情形 LF # 以下感謝梁浩穎同學解釋 CRLF 就是 \r\n 是只有在 windows 系統在用的形式 所有的 UNIX 系統都是用 \n   (的確,上圖中的 answer.txt 是用windows 7系統的記事本所編輯的,answer_test.txt 則是用 mac 系統透過 sublime text 所編輯的) CR是carriage return的意思, 也就是\r  LF是line feed的意思,也就是\n 這就是為什麼有些檔案從unix系統拿去windows上面看 會變成全部都在同一行 因為只有LF 他不知道是換行 windows只吃CRLF 除了一些比較聰明的文字編輯器會 分的出來 不過其實,CRLF才是真正的打字機運作方式,你可以想像:打字機打到最右邊,要先return到最左邊之後,再往下一行, 所以是CRLF 如果想要清空 answer.txt 裡面所有的 \r 的話,可以使用以下指令 tr -d '\r’ answer.txt # 遇到這個隱形的bug真是難得的好玩經驗,分享給大家 :)