If you cat /proc/net/dev you can see: Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo: 300 6 0 0 0 0 0 0 300 6 0 0 0 0 0 0 wlan0:38493170 47282 0 0 0 0 0 0 8228940 45380 0 0 0 0 0 0 That in the "lo:" line there is a space between "lo:" and the rx bytes count, but if you exceed an amount of data exchanged, like the "wlan0:" line, this space disappears. This can cause troubles when trying to automatically extract data from this file. I experienced this bug on Fedora, mandriva, debian & Ubuntu. Actually i am using 2.6.30 vanilla, and this weird behavior is still here.
The Interface name & the Receive bytes count fields are printed with format specifiers of "%6s:%8lu". I.e., a string followed by a colon followed by a numeric field, but the numeric field may have leading spaces if it is less that 8 characters in length. Any program that is reading this should allow for that format.
But it isn't preferable insert a blank space in any case between the semicolon and the count? In many languages without varibale typing this blank space transform the number in a text string.
Its up to the user to parse the data - and the format is historically defined anyway