[bash: awk] 조건에 따른 문자열 작업
By 반달가면 | 2016년 11월 16일 |
awk 구문의 가장 기본적인 형태는 아래와 같다. awk '/패턴/ {명령어}' 파일명 텍스트 파일을 한 행씩 읽으면서 일치하는 패턴(문자열)이 보이면 이에 상응하는 명령어를 실행한다. 예를 들어 my_file.txt 파일에서 "abc" 문자열이 있으면 행 전체($0)를 출력하고 "def" 문자열이 있으면 "___" 문자열을 출력한다면 아래와 같이 될 것이다. awk '/abc/ { print $0 } /def/ { print "___" }' my_file.txt 위의 예시에서 만약 한 행에 "abc"와 "def"가 둘 다 있다면 행 전체도 출력되고 "___" 문자열도 출력된다. if/else 조건문을 사용해서 조건에 따라 출력을 지정해 줄 수 있다. 예를 들어 my
[Linux][Kernel] fd(file descriptor: 파일 디스크립터) 등록 - 코드리뷰
By Guillermo Austin Kim | 2017년 12월 17일 |
리눅스 시스템 프로그램을 보면 fd를 얻어오는 코드를 자주 볼 수 있어요. fd를 보통 file descriptor라고 하죠.특정 프로세스에서 파일 핸들이라고 이야기하고요. 그럼 fd가 커널 공간에서 어떻게 생성되고 저장되는지 살펴보도록 할께요.#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h> #define MAX 1024 int main (int argc, char ** argv[]) { int fd; int readn = 0; int writen = 0; char
[bash: source] 스크립트에서 환경설정 파일 활용하기
By 반달가면 | 2017년 2월 20일 |
셸 스크립트에서 환경설정 파일을 읽어서 변수값을 지정하고 싶을 때 source 명령을 활용할 수 있다. source 명령은 현재의 shell 프로세스에서(즉, fork하지 않고) 지정된 파일에 있는 명령을 실행한다. 아래의 예시를 보자. # test.ini 파일 내용 확인 cat test.ini MY_VALUE=10 MY_NAME="john" # test.ini 파일의 내용을 현재 shell에서 실행 source test.ini # 변수 설정 결과 확인: MY_VALUE, MY_NAME 출력 echo $MY_VALUE 10 echo $MY_NAME john 변수 MY_VALUE, MY_NAME의 값을 test.ini 파일에서 정하고, 이것을 읽어서 실행함으로써 변수값이 설
[리눅스커널] 메모리관리/디버깅: 가상주소를 물리주소로 변환 확인 실습
By Guillermo Austin Kim | 2019년 9월 2일 |
이번 소절에서는 가상주소를 물리주소로 변환하는 과정을 실습으로 알아봅시다. 3장 3.6 절에 소개한 rpi_debugfs.c 소스를 활용해 실습을 진행합니다. 먼저 rpi_debugfs.c 소스를 입력하고 커널 빌드를 하시기 바랍니다. 패치 코드 입력 방법 알아보기 먼저 입력할 패치 코드부터 소개합니다.[drivers/soc/bcm/rpi_debugfs.c] 01 static int rpi_kernel_debug_stat_set(void *data, u64 val)02 {03 int ret;04 05 raspbian_debug_state = (uint32_t)val;06 07 if ( raspbian_debug_state == 1402 ) {08 unsigned long ph