За да изясним докрай условието на задачата, ти имаш string който има стойност '0x30e4' или имаш binary data file в който има 30e4 (което са си точно 2 байта и ти ги искаш разменени) ?
Първо да уточня, че в самия шел май имаш само сметки $((израз)) за елементарни аритметики с цели числа.
Ако имаш нещо от сорта на str='0x30e4' (променлива, т.е. низ, на който искаш да разменяш буквите), поднизове в bash (като надмножество на POSIX възможностите) можеш да получаваш по схемата ${str:position:length}:
GeSHi (Bash):
mara@OVNIWatermelon:~$ str='0x30e4'
mara@OVNIWatermelon:~$ echo ${str:0:2}
0x
mara@OVNIWatermelon:~$ echo ${str:0:2}${str:4:2}${str:2:2}
0xe430
mara@OVNIWatermelon:~$
Ако имаш файл с два байта и искаш да ги размениш, може да пробваш head/tail с опцията -c (тя не е POSIX опция, има я в GNU варианата на програмата):
GeSHi (Bash):
mara@OVNIWatermelon:~$ printf 'ab' > two_bytes
mara@OVNIWatermelon:~$ hd two_bytes
00000000 61 62 |ab|
00000002
mara@OVNIWatermelon:~$ head -c 1 two_bytes | hd
00000000 61 |a|
00000001
mara@OVNIWatermelon:~$ tail -c 1 two_bytes | hd
00000000 62 |b|
00000001
mara@OVNIWatermelon:~$ tail -c 1 two_bytes > reversed_two_bytes
mara@OVNIWatermelon:~$ head -c 1 two_bytes >> reversed_two_bytes
mara@OVNIWatermelon:~$ hd reversed_two_bytes
00000000 62 61 |ba|
00000002
mara@OVNIWatermelon:~$
Надявам се това да ти даде някакви насоки 
Да, моя е грешката, явно снощи ми е дошло малко повече пиенето, че днес навсякъде ги пиша едни...
Как стоят нещата - с една команда вадя един дълъг лог (който си е чисто стрингов тип), след това в него търся реда който ми трябва с grep, след което резултата го филтрирам през sed и след като всичко това се изпълни в един ред (команда | grep критерий | sed 's/.*0x//'), крайния резултат е това въпросно DeviceID от вида 30e4, което се намира в края на въпросния ред и на което трябва да завъртя местата на байтовете (е430), след което да го обърна в стринг, но десетичната стойност (това обаче знам как става). Губеше ми се само обръщането, но явно съм забравил че това си е преди всичко стринг, а него мога да си го правя каквото си искам, има достатъчно оператори за това. Проблема е че това DeviceID може да бъде три или четири символа (и доколкото знам не може да е пет или повече символа, както и два или по-малко), като ако е от вида 7ed, трябва да се обърне на 0d7e, но и това се сетих как ще стане. В комбинация с един case за трите случая (при дължина 4, 3 или всичко останало, в който ще връща грешка) ще стане идеално. Благодаря на всички за отговорите, наистина ми бяха полезни за да се сетя какво да правя.