리눅스
Posts
554 posts[bash: sed] 16진수값(hex) 대체하기
sed에서 문자열이 아니라 16진수값을 대체할 수도 있다. 따라서 텍스트 파일뿐만 아니라 바이너리 파일에 대해서도 대체 기능을 사용할 수 있다(sed를 이용한 문자열 대체의 기본은 이전 게시물을 참고하자. 여기로). 아래의 예시를 보자. # my_file.dat에서 모든 0xff를 0xf0으로 대체, my_file.mod.dat로 저장 sed 's/\xff/\xf0/g' my_file.dat > my_file.mod.dat 16진수를 나타내기 위해 'x'를 사용하는데, 문자 x를 의미하는 것이 아니므로 역슬래시(\)를 추가해 주어야 한다. 즉 \xff는 0xff를 의미하게 된다. 만약 연속되는 16진수값을 대체할 경우에는 각 값마다 \x를 붙인다. 아래의 예시를 보자. # my_fi
[bash: if, grep] 특정 문자열의 존재유무에 따른 작업 지정하기
어떤 파일에 특정한 문자열이 있는 경우와 없는 경우에 각기 다른 작업을 해야 할 경우, if 조건문과 grep을 적절히 조합해서 간편하게 구현할 수 있다. 우선 if 조건문의 -z 옵션을 보자. 이것은 문자열의 길이가 0이면 참, 0이 아니면 거짓이다. 아래의 예시를 보자. string="abc" # 변수 abc에 저장된 문자열의 길이가 0인 경우 메시지 출력 if [[ -z $string ]] then echo "변수 string에 저장된 문자열의 길이는 0입니다." fi 이제 원래의 문제로 돌아가서, 예를 들어 파일 my_file.txt에 문자열 "abcd"가 존재하느냐 여부에 따라서 뭔가 다른 작업을 해야 하는 경우를 생각해 보자. if 조건에 grep을 이용한 문자열 검색의
[bash: awk] awk에서 필드 구분자를 지정할 때 "escape sequence" 관련 경고 메시지 발생
awk에서 -F 옵션을 이용해서 필드 구분자(field separator)를 지정할 수 있다. 일단 관련 내용은 이전 게시물을 참고하자. [bash: awk] 특정 위치(field)에 대한 문자열 검색 [bash: awk] 여러 종류의 단어 구분자를 지정해서 단어 선택하기 알파벳이나 수자 등을 필드 구분자로 사용할 때는 크게 문제가 없는데, 만약 특수문자(|, ] 등)가 구분자에 포함되어 있을 경우에는 문제가 좀 달라질 수 있다. 아래의 예시를 보자. # example.txt 파일 내용 확인 cat example.txt john||123-456 jane||111-222 # example.txt에서 두번째 필드 출력(오동작) awk -F '||' '{ print $2 }' e

Linux Kernel Programming, 모듈 기능 구현 방안
Linux Kernel Programming, 모듈 기능 구현 방안 출처 : 디바이스 드라이버 프로그래밍 [링크] 리눅스 커널의 특징은 기능이 동작 중임에도 어떤 기능이 추가되어 운영된다는 겁니다. 당연히 메인 함수는 없고 모듈(각 기능)들의 실행, 중지, 관련 메모리 반환 등의 함수는 꼼꼼하게 작성되어야 합니다. 그래서 모듈 프로그래밍할 때는 커널에 자유롭게 오르고 내릴 수 있도록 유연하게 작성해야 하는 것이죠. 링크의 예제를 살펴보면, 모듈 함수는 크게 begin, end, init, exit로 구성됩니다. init는 begin을 호출하고 exit는 end를 호출합니다. init, exit가 실제로 리눅스 커널에서 호출하는 함수인데, 이렇듯 리눅스 커널은 운영 중에 모듈을 추가/제거할 수 있


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
