Вы могли дать ему попытку в jnettop: http://sourceforge.net/projects/jnettop/ - http://www.freshports.org/net-mgmt/jnettop/, но информация об идентификаторе процесса должен отсутствовать.
С iftop
у Вас мог быть подробный отчет о пропускной способности (iftop -i re0 -N -P
), но Вы не будете видеть (снова) идентификатор процесса определенного сетевого трафика. Необходимо будет вывести, какой трафик связан с какой программное обеспечение.
Существует названный инструмент nethogs
на Linux, но начиная с него heavly зависит от /proc
не могло быть тривиальным для портирования его на FreeBSD - http://marc.info/?l=freebsd-questions&m=127092700612560&w=2
Можно использовать обратные ссылки:
echo A627E39B | sed 's/\(.\)\(.\)/\2\1/g'
При этом обнаруживаются все вхождения двух символов и происходит их замена.
Как Гленн Джекман указанный, включая расширенные регулярные выражения (-E
w/GNU, BSD, или toybox
sed
s) избегает необходимости избегать круглых скобок:
echo A627E39B | sed -E 's/(.)(.)/\2\1/g'
Вы также можете использовать Perl
:
$ echo A627E39B | perl -CLS -nle 'print map {~~reverse} unpack "(a2)*"'
6A723EB9
Есть утилита, которая поддерживает эту функцию:
dd
с преобразованием swab
(swap bytes):
% echo ABCD | dd conv=swab
BADC
0+1 records in
0+1 records out
5 bytes (5 B) copied, 0.000109277 s, 45.8 kB/s
нужно добавить 2> /dev/null
, чтобы отменить вывод журнала:
% echo ABCD | dd conv=swab 2> /dev/null
BADC
Предупреждение: Это сделает практически все, что вы хотите, если вы отправите его.
четное количество (печатаемых) символов. Но, если вы дадите
нечетное количество печатаемых символов - скажем, 2n+1 -
тогда dd
возьмет новую строку в конце.
в качестве (2n+2)th символа,
и поменять его на (2n+1)th. Итак,
% echo ABCDE | dd conv=swab 2> /dev/null
отправляет
A B C D E \n
на dd
, что дает вам
B A D C \n E
обратно; это будет выглядеть как
BADC
E
Вы можете работать над этим, указав опцию -n
на echo
.
подавление новой линии в конце
(или просто используйте printf
без добавления новой строки).
Если вы отображаете вывод на экран, то для полноты,
вы должны добавить новую строку в самом конце:
% echo -n ABCDE | dd conv=swab 2> /dev/null; echo
BADCE
% printf "%s" ABCDE | dd conv=swab 2> /dev/null; printf "\n"
BADCE