Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 03:07 29.05.24 
Компютри и Интернет
   >> Linux
*Кратък преглед

Тема Bash задачканови  
Автор Филип Петев ()
Публикувано05.07.12 10:45



Здравейте, може ли някой да ми каже има ли начин с bash скрипт да се прави функцията byte flip, която я има повече по инженерните калкулатори, накратко имам 0x30e4 и търся резултат 0xe430, тоест да сменя местата на байтовете, а примерно 0x7ed да става 0xed07. Претърсих доста места в интернет, но не можах да намеря нещо което да ме насочи как може да стане това. Благодаря предварително.

Ако спреш за момент да търсиш чуждите грешки, може и да видиш своите...


Тема Re: Bash задачканови [re: Филип Петев]  
Автор ЛУД ПPЪЧ (еблив смърдел)
Публикувано06.07.12 11:47



в максимално нагледен вид може така:


((k = 0xabcd))
((m = k >> 8))
((n = k & 0xff))
((z = (n << 8) | (m)))

printf "0x%02x 0x%02x 0x%02x\n" $k $m $n
printf "0x%02x\n" $z
#


същото, на един ред:
((y = ((k & 0xff) << 8) | (k >> 8) ))


може и още по-лесен начин да има, но не знам какъв е.



Тема Re: Bash задачка [re: ЛУД ПPЪЧ]  
Автор psy__ ()
Публикувано09.07.12 10:16



Ако все още имаш нужда от решение, един малко по-текстов подход, отколкото на колегата пръч.

Това ще ти изплюе резултата в конзола
sed -r s/"0x([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})"/0x\\2\\1/ filename.txt

Ако искаш направо да ги размени в самия файл
sed -i -r s/"0x([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})"/0x\\2\\1/ filename.txt

Ако това което разменяш не е във файл а идва на stdin, може да направиш pipe:

cmd_output_generator | sed -r s/"0x([0-9a-fA-F]{2,2})([0-9a-fA-F]{2,2})"/0x\\2\\1/




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.