[bash: awk] 특정 위치(field)의 문자열에서 특정 길이 만큼 문자열 추출
By 반달가면 | 2016년 12월 16일 |
awk에서도 expr의 substr 옵션과 같은 기능을 하는 함수가 존재한다. 이름도 substr로 같다. (expr의 substr 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로) substr 함수의 형식은 아래와 같다. 아래의 형식에서 문자열이 들어갈 자리에 $1, $2 등 위치(field) 변수를 지정해 주면 된다. substr("문자열",[시작 위치],[길이]) 간단한 예시를 보자. 문자열 "I'm a student"에서 세번째 단어(student)의 2번째 바이트부터 4바이트를 추출하고자 한다면 아래와 같이 될 것이다. substr 함수를 이용해서 3번째 단어의 2번째 바이트부터 4바이트를 추출하여 변수 result에 저장하고 print 명령으로 출력. echo "I'm a
[라즈베리파이] 커널 타이머 -동적 타이머는 누가 언제 호출하나? (1)
By Guillermo Austin Kim | 2018년 8월 15일 |
이전에 동적 타이머를 설정하는 코드 흐름까지 알아봤습니다. 이 과정을 요약하면 다음과 같습니다. 1. 동적 타이머를 표현하는 자료 구조인 struct timer_list 구조체에 기본 정보를 채운 다음 add_time() 혹은 mod_time() 함수를 호출합니다. 동적 타이머 기본 정보는 타이머 만료 시각(HZ단위)과 동적 타이머 핸들러 함수와 매개 변수입니다. 2. 동적 타이머를 초기화했을 때 실행했던 CPU 번호 기준으로 per-cpu 오프셋을 적용해서 timer_base 주소를 읽습니다. 이 주소에는 struct timer_base 구조체 멤버가 있는데 타이머 벡터 해시 인덱스에 동적 타이머를 등록했습니다. 이어서 이번에는 동적 타이머를 누가 언제 처리하는지 살펴봅니다. 동적 타이머는 커널 시스
CD에서 FLAC과 ALAC 추출하기, 아이튠즈와 윈도우 미디어 플레이어
By 타누키의 MAGIC-BOX | 2021년 6월 21일 |
브레이브걸스로 CD를 오랜만에 사서 아이튠즈로 옮겨봤는데 기본적으론 MP3 320kbps로 나오는데 앨범자켓은 나오지 않습니다. 게다가 FLAC을 추출하여 넣으려고 보니 안들어가서 찾아보니 ALAC라고 애플의 규격에 맞는 방식으로 추출하라더군요. 아이튠즈의 CD가져오기를 통해서 자체적으로도 ALAC를 추출할 수 있어 편리하다~ 생각했는데~ 볼륨 데시벨을을 맞추는 옵션같은게 있는지 이상하게 가져오네요. 그러다보니 자체적으로 볼륨을 올려서 맞춰도 답답하게 들리고 전반적으로 영~ 못 쓰게 나와서 클래식하게 추출하기로 했습니다. 윈도우 기본 프로그램인 윈도우 미디어 플레이어를 통해서 가능한데 CD를 선택한 후 옵션으로 ALAC를 골라서 추출하면 됩
[라즈베리파이] 시스템 콜 - 커널 공간에서 시스템 콜 테이블 확인하기
By Guillermo Austin Kim | 2018년 11월 21일 |
시스템 콜 테이블은 sys_call_table 심볼에 저장돼 있습니다. 쉽게 설명을 드리면 전역 변수라고 봐도 무방합니다. T32 프로그램으로 시스템 콜 테이블을 확인하면 다음과 같습니다.d.v %y.l sys_call_table________address||value______|symbolNSD:80107FC4| 0x8012C6F4 \\vmlinux\kernel/signal\sys_restart_syscallNSD:80107FC8| 0x801212C0 \\vmlinux\exit\sys_exitNSD:80107FCC| 0x8011C100 \\vmlinux\fork\sys_forkNSD:80107FD0| 0x8026AB24 \\vmlinux\read_write\sys_readNSD:80107FD4|