Файл rsyslogd.pid, вероятно, не заканчивается символом новой строки (ASCII 0x0A).
Вы не упоминали, как открывали файлы, но, я подозреваю, вы использовали текстовый редактор, который будет не отображать непечатаемые символы (например, перевод строки и возврат). Вместо использования текстового редактора попробуйте просмотреть необработанный файл с помощью инструмента hexdump. Затем сравните шестнадцатеричные значения с таблицей ASCII. Я думаю, вы обнаружите, что непечатные символы после 599 и 636 отличаются.
hexdump -C rsyslogd.pid
hexdump -C acpid.pid
Следующая последовательность команд воспроизводит ваш вывод. Ключом является использование флага -n для команды echo для создания файла без символа новой строки в конце.
$ echo -n test > file_no_new_line.txt
$ echo test > file_with_new_line.txt
$ cat file_no_new_line.txt
test$ cat file_with_new_line.txt
test
$
Вот вывод hexdump для двух файлов, показанных в моем примере.
$ hexdump -C file_no_new_line.txt
00000000 74 65 73 74 |test|
00000004
$ hexdump -C file_with_new_line.txt
00000000 74 65 73 74 0a |test.|
00000005
$
Вывод команды, в данном случае из cat, и приглашение оболочки ($), работающие друг с другом, также зависят от оболочки. Если поведение невозможно воспроизвести с помощью описанных выше шагов, попробуйте другую оболочку (например, / bin / sh)