Files

cat 顯示文件內容,gedit 和 vim 顯示空白文件

  • February 27, 2019

我正計劃用 Arduino 建構目前的日誌記錄設備,並嘗試從 Arduino IDE 速寫本中的基本 SD 卡寫入範例開始。

串列控制台沒有顯示任何錯誤,所以我認為一切正常。

但是…當我將卡插入電腦(Ubuntu 18.04)並用 gedit 打開它時,文件是空白的?Vim 有同樣的行為:它是空白的。

但是……當我在文件上使用cat時,它確實顯示了內容?!

有人知道我在這裡做錯了什麼嗎?

編輯:針對 Bodo 的問題:

貓的輸出:

...
TEST
TEST
TEST
TEST
TEST
TEST
372,345,324
342,340,330
331,332,328
327,325,324
322,320,318
317,315,313
313,310,309
...

(這應該是裡面的東西)

輸出 ls -l:

total 16
-rw-r--r-- 1 myname myname 15161 Jan  1  2000 DATALOG.TXT

od -c -tx1 DATALOG.TXT 的輸出 | 頭-1:

0000000  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n

最後一個回答了我的問題……它顯示了一堆換行符。但真的……很多……這解釋了為什麼 gedit 和 vim 顯示空文件。在看到實際數據之前,我必須向下滾動很長時間。使用 cat 時,我只看到了尾隨行,所以它顯示了內容。將數據保存到 SD 卡時可能出現問題。謝謝博多!您僅通過提出問題就解決了我的問題:D

如編輯中所示,這是答案:

執行od -c -tx1 DATALOG.TXT | 頭-1

給了我這個:

0000000  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n  \r  \n

這暗示我該文件可能在開頭有一堆換行符,內容尾隨。事實證明是這樣的。這就是為什麼文件在 gedit 和 vim 中顯示為空的原因,但在 cat 中卻沒有。因為我只會在終端中看到 cat 的最後幾行。

引用自:https://unix.stackexchange.com/questions/503300