리눅스
Posts
554 posts[bash: awk] 각 항목별 합계 계산
텍스트 파일에 각 항목별로 값이 있을 때, 같은 항목끼리 모아서 그 합을 구하는 방법이다. 간단한 예시를 생각해 보면 쉽게 감이 잡힐 것이다. 텍스트 파일 my_data.txt의 내용이 아래와 같다고 가정하자. 각 항목의 구분자는 탭(tab)이다. # my_data.txt 파일 내용 확인(구분자는 탭) cat my_data.txt 2018.1.3 apple 10 2018.1.3 orange 3 2018.2.5 pineapple 7 2018.3.10 apple 2 2018.3.15 pineapple 10 2018.3.30 apple 9 위와 같이 날짜마다 어떤 과일을 몇개 팔았는지 기록했다고 생각해 보자. 이제 여기서 각 과일별로 총 몇개씩 판매했는지 알고 싶은 것이다. 첫번째 항
[bash: find, xargs, for] find 명령으로 추려낸 여러 파일에 대해 같은 작업을 하기 위한 스크립트
find 명령으로 추려낸 파일들을 xargs 명령으로 넘겨서 해당 파일들에 대해 뭔가 작업을 하기 위한 스크립트를 만들 수 있다. 우선 find에 대한 기본적인 내용은 여기로, xargs에 대한 기본적인 내용은 여기로. 작업용 스크립트의 이름을 proc.sh라고 하자. 명령어 실행은 아래와 같은 형태가 될 것이다. # my_file.txt 파일에 대한 작업 bash proc.sh my_file.txt # find 명령으로 추려낸 여러 파일에 대한 작업 find ./ -type f | xargs proc.sh # find와 grep 명령으로 .txt 파일만 추려낸 후 작업 find ./ -type f | grep "\.txt" | xargs proc.sh find 명령으로 몇개
[Kernel][Workqueue] flush_work(), 배리어 워크(barrier_work, wq_barrier)
barrier work에 대해서 알아보겠습니다. flush_work 함수는 두 가지 상황에서 쓰입니다. 두 가지 경우에 barrier work가 어떻게 쓰이는지 알아볼게요. 1. 현재 다른 워커 쓰레드에서 동일한 워크가 실행 중에 동일한 work을 flush한 경우 -386 [001] ...1 143.380287: workqueue_execute_start: work struct e880e910: function sdhci_pm_qos_cpu_unvote_work//... mmc-cmdqd/0-339 [000] ...1 143.381065: flush_work
[라즈베리파이] 커널 타이머 - 동적 타이머 실행 코드
동적 타이머를 초기화만 하면 동적 타이머를 쓸 수 없습니다. 동적 타이머를 실행해야 합니다. 이를 위해 add_timer()/add_timer_on() 이나 mod_timer() 함수에 적절한 인자를 채워 호출해야 합니다. 보통 add_timer() 함수를 써서 동적 타이머를 실행하며 이후 동적 타이머 만료 시간을 다시 설정한 후 동적 타이머를 실행시킬 때 mod_timer() 함수를 씁니다. add_timer()와 mod_timer() 함수를 써서 로컬 타이머를 설정하는 코드를 살펴보겠습니다. 먼저 라즈비안에서 로컬 타이머를 실행하는 코드를 봅시다.1 bool bcm2835_sdhost_send_command(struct bcm2835_host *host,2 struct mmc_command



![[1년 전 오늘] 250608 인천 무의도 덕점방파제 바다루어낚시 - 장대, 광어](https://img.zoomtrend.com/2026/06/10/1781084366-20250608122254.jpg)
![[CV] [Comi] '終末のハーレム ファンタジア' (종말의 하렘 판타지아) 17권. 그동안 SAVAN에 무슨 일이 있었던 거냐](https://img.zoomtrend.com/2026/06/10/1781084386-ECA484EBA6ACEC9790.jpg)