Как узнать, какое двоичное значение я получаю в сокете TCP?

Это потому, что команда printкоманды awkпо умолчанию вставляет новую строку. Вы можете распечатать все сразу, чтобы использовался только один printвызов:

$ date +'%b' | awk '{print "Left " $1 " Right"}'
Left Jun Right

Или используйте printfвместо:

$ date +'%b' | awk '{printf "Left "; printf "%s", $1; printf " Right\n"}'
Left Jun Right

Использование printfздесь бессмысленно, я просто включил его в качестве примера и чтобы показать, что он не добавляет \nпо умолчанию.

0
28.06.2019, 23:33
2 ответа

Направьте вывод вашей команды ncв какую-нибудь программу, которая будет отображать значения отдельных байтов вывода, вместо того, чтобы просто отправлять эти байты на терминал, который будет обрабатывать байты как печатные символы. Например:

nc -k -l 3111 | od -tx1

или:

nc -k -l 3111 | hexdump -C
1
28.01.2020, 02:39

cut -b Nилиcut --bytes=N(GNUcut)даст вам первые N байтов потока.

0
28.01.2020, 02:39

Теги

Похожие вопросы