Skip to main content

Posts

[AWK] C struct to fprintf script

example code #!/bin/bash awk ' { if ($1 == "u_int" ) FORMAT="%u"; \ else if ($1 == "u_short" ) FORMAT="%u"; \ else if ($1 == "uint64_t" ) FORMAT="%lu"; \ else if ($1 == "int" ) FORMAT="%d"; \ else if ($1 == "int32_t" ) FORMAT="%d"; \ else if ($1 == "int64_t" ) FORMAT="%ld"; \ else if ($1 == "u_char" ) FORMAT="%s"; \ else if ($1 == "char" ) FORMAT="%s"; \ else FORMAT="ERROR"; \ if ( substr($2,length($2),1) == ";" ) KEY=substr($2,0, length($2)-1); else KEY=$2; \ print "fprintf(stdout, \"" KEY "= [" FORMAT "]\\n\", p_x->" KEY " );" } ' a.dat # a.dat typedef struct {       u_int    m1;       int myport;       u_short  ushort2;       u_int    int1;       u_short  data;       u_char   dummy[8];       uint64_t length;

[Linux/vi] multi search string

[1stString] : First string to find. [2ndString] : Second string to find Or Search ( Use "\|" ) /[1stString]\|[2ndString] And Search (Use ".*" ) /[1stString].*[2ndString]/ Reference: http://www.linuxquestions.org/questions/linux-software-2/searching-multiple-patterns-through-vi-editor-725155/

linux file system recovery

1. broken hdd disk backup  1) remote-server nc -v -l [port] > hdd_backup.img  2) equipment of broken hdd dd if=/dev/sda | nc -v [remote-server IP] [port]   ex)  1) remote-server nc -v -l 2222 > hdd_backup.img  2) equipment of broken hdd dd if=/dev/sda | nc -v 1.1.1.1 2222 2. use recovery tool  testdisk (http://www.cgsecurity.org/wiki/TestDisk_Download) 3. run fsck from img file  # losetup --offset 32256 /dev/loop2 harddrive.img  # fsck /dev/loop2  and again testdisk reference: https://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ https://bbs.archlinux.org/viewtopic.php?id=136766

run dosbox on windows10 tablet

My windows tablet with dosbox had erros.  "SDL: DirectInputDevice::SetDataFormat: Invalid parameters" Solution-1 download vcredist_x86.exe file and install Solution-2 download and install Touch Enabled SDL. ==>  SDL.dll  Reference:   http://www.ppomppu.co.kr/ zboard/view.php?id=wintab&no= 11258 http://zhengxu.tistory.com/276

[bash] unix time to date format

----------------------- function print_date_by_unix_time {   LOCALE="+9hour"   date -d "1970-01-01 $1 seconds ${LOCALE}" } ----------------------- Output Example # print_date_by_unix_time `date +%s` Fri Jan 29 20:40:23 KST 2016 # print_date_by_unix_time 1354067587 Wed Nov 28 10:53:07 KST 2012

[python] get string from output of other process

1.  The Script ---------------------------------- #!/usr/bin/python import subprocess def getCallResult(cmdARGS):   fd_popen = subprocess.Popen(cmdARGS.split(), stdout=subprocess.PIPE).stdout   data = fd_popen.read().strip()   fd_popen.close()   return data data = getCallResult("ls -la") print (data) ---------------------------------- 2. Result Example ---------------------------------- # python test.py total 524 drwxrwxr-x  4 parkmo parkmo   4096  1월 27 16:30 . drwxrwxr-x 45 parkmo parkmo   4096  1월 27 11:59 .. drw-rw-r--  1 parkmo parkmo    421  1월 27 12:01 test.py .. .. 1) If you don't want use split() when call subprocess.Popen, use [ ]. subprocess.Popen(["ls", "-la"], stdout=subprocess.PIPE).stdout 2) If you can want to file descriptor.   fd_popen = subprocess.Popen(cmdARGS.split(), stdout=subprocess.PIPE).wait() You can use Blocking or Non-Blocking. Test Environment: Pytho