[bash: sed] 리눅스에서 윈도우 텍스트 파일의 CR(캐리지 리턴) 제거
By 반달가면 | 2017년 6월 5일 |
윈도우에서 만들어진 텍스트 파일의 일부분을 리눅스쪽에서 가져다가 작업하면서 발생했던 문제다. grep을 이용해서 파일의 특정한 부분을 가져온 후에 다른 내용과 조합해서 출력해야 하는 상황이었다. 대략 아래의 예시와 같다. # from_windows.txt 파일 내용중 처음 출현한 시간(HH:MM:SS 형식) 추출 및 출력 time_val=`cat from_windows.txt | grep "[012][0-9]:[0-5][0-9]:[0-5][0-9]" | head -1` echo "$time_val 발견!" 발견!55 추출한 값을 변수 time_val에 저장한 후에 echo 명령으로 위의 예시와 같이 출력을 했는데, 변수값 뒤에 출력되어야 할 문자열이 맨 앞으로 오는 문제가 발생. 이렇게 되
yum - CentOS 패키지 관리자
By 반달가면 | 2016년 10월 27일 |
CentOS에서 사용되는 패키지 관리자 yum에 대한 기본 옵션이다. 최근에 CentOS를 만질 일이 좀 생겨서 정리해 두기로. 패키지 목록 확인은 list 옵션을 사용. # 전체 패키지 목록 출력 yum list all # 설치된 패키지 목록만 출력 yum list installed 찾고 싶은 패키지를 grep 명령을 조합하여 검색하면 편리하다. # 패키지 이름중에 httpd가 포함된 것만 출력 yum list all | grep httpd # 설치된 패키지 이름중에 httpd가 포함된 것만 출력 yum list installed | grep httpd 패키지 설치와 제거는 install/remove 옵션을 사용. # httpd 패키지 설치 yum ins
[bash: awk] 문자열을 검색해서 일치하는 부분만 출력하기(match, substr)
By 반달가면 | 2018년 11월 13일 |
awk에서 특정 문자열 패턴과 일치하는 부분이 있을 경우, 일치하는 부분만 출력하는 방법이다. grep에서 -o 옵션으로 일치하는 부분만 골라서 출력하는 것과 동일한 기능이나(grep의 -o 옵션에 대한 내용은 이전 게시물을 참고하자. 여기로), awk에서는 좀 더 복잡한 작업들과 조합해서 사용할 수 있으므로 알아두면 편리하다. 아래의 예시를 보자. 입력된 행에 문자열 "abc"가 있는지 확인하여 있을 경우 해당 부분만 출력하는 경우다. echo "abcdefg" | awk 'match($0,/abc/) { print substr($0,RSTART,RLENGTH) }' abc match 함수를 이용하여 일치하는 부분이 있는지 확인한 후에 문자열 일부를 출력하기 위해 substr 함수를 사용
[라즈베리파이] 워크큐(Workqueue) - 워크는 누가 언제 호출하나? (1) @process_one_work
By Guillermo Austin Kim | 2018년 9월 11일 |
워크를 워크큐에 큐잉하면 다음 그림과 같이 insert_work() 함수에서 wake_up_worker() 이란 함수를 호출해서 워커 쓰레드를 깨웁니다. 이 동작 흐름은 위 그림과 같이 3단계로 분류할 수 있습니다. 1 단계워크를 워크큐에 큐잉합니다. 2 단계wake_up_worker() 함수를 호출해서 워커 쓰레드를 깨웁니다. 커널 스케줄러에게 워커 쓰레드를 깨워달라는 요청입니다. 3 단계스케줄링 정책에 따라 워커 쓰레드가 실행할 순서가 되면 커널 스케줄러가 워커 쓰레드를 실행합니다. 워커 쓰레드 핸들 함수는 worker_thread() 입니다. 이 함수에서 process_one_work() 함수를 호출해서 워크 핸들러를 호출하는 겁니다. 이번 소절에서는 process_one_work() 함