본문 바로가기

예제46

linux awk 예제 awk 예제 1. 파일에서 특정 문자열 검색 $ awk '/search_string/ {print}' filename.txt : filename.txt 파일에서 "search_string"이라는 문자열을 검색하고, 해당 문자열이 포함된 모든 행을 출력 2. 파일에서 특정 열 추출 $ awk '{print $2}' filename.txt : filename.txt 파일에서 두 번째 열을 출력 3. 파일에서 특정 조건에 맞는 행 추출 $ awk '$3 > 50 {print}' filename.txt : filename.txt 파일에서 세 번째 열의 값이 50보다 큰 모든 행을 출력 4. 파일에서 특정 패턴 치환 $ awk '{gsub(/old_string/, "new_string"); print}' file.. 2023. 3. 21.
[C/C++] C++ JSON parser example, C언어 JSON 파서 예제, rapidjson C++ JSON parser example 본 json_parser 라이브러리는 rapidjson을 활용한 wrapper이다. 이미 그 자체로 훌륭한 JSON parser 인 rapidjson은 소스코드가 아닌 헤더로만 구성되어있고 사용자의 역량에 따라 코드 표현이 천차만별이라 같은 선언, 같은 메서드, 같은 출력을 보장하기 위해(공용화) wrapper class를 만들게 되었다. * rapidjson 홈페이지, tutorial이 무척 잘되어있다. https://rapidjson.org/ RapidJSON: Main Page A fast JSON parser/generator for C++ with both SAX/DOM style API Tencent is pleased to support the op.. 2022. 1. 17.
[C/C++] C언어 MAC 주소 읽기 구현, get mac address C언어 MAC 주소 읽기 구현 MAC 주소를 얻는 소스 코드를 구현한다. 네트워크 관련 처리를 하다보면 MAC 주소가 필요한 경우가 자주 발생한다. 이 역시 shell 명령을 통해 MAC 주소를 얻는거보다 소스코드로 구현하는게 깔끔하고 빠르다. 소스코드 이 역시 C언어로 변경하여 사용할 수 있다. 단지 return type을 string으로 받고 싶어 cpp로 했을 뿐. C언어 타입으로 변경하려면 cpp 요소만 제거하여 사용하자. * 이더넷 인터페이스가 많은 경우 count_if 항목에서 req->ifr_name 의 인터페이스명을 보고 판단하여 mac 주소를 획득하면 된다. 물론 한번에 다 얻을 수 도 있으니 활용하자. #include #include #include #include #include #i.. 2022. 1. 16.
[C/C++] C언어 icmp, ping 구현 C언어 icmp, ping 구현 C언어를 이용한 icmp, ping 을 구현하였다. 이따끔 network target의 alive 상태를 체크해야할 일이 있다. Rest API 요청이라던가 TCP session 개시 라던가 뭔가 network request 상황에서 system time_wait, fin_wait, response block 등 여러 상황에 빠지는 상황을 만들지 않으려면 애초에 안보내는게 제일 깔끔하기 때문이다. 그래서 icmp check를 한 후 정상적인 상황에서만 network 적인 작업을 수행한다. 소스코드 - TIME_LOOP_WAIT는 200ms 간격으로 icmp를 체크하겠단 의미다. - COUNT_CHECK_LOOP는 5회 동안 체크하겠단 의미다. 즉, 한번에 응답이 오지 않는.. 2022. 1. 16.
linux aplay PCM 파일 재생 예제 linux aplay PCM 파일 재생 예제 ALSA 에서 기본으로 제공되는 aplay 명령어를 이용하여 PCM파일을 재생해보자. 아래 예제를 살펴보면 알 수 있지만 대상을 어떻게 재생할지 ALSA parameter를 설정하는 과정과 같다. 즉 재생할 대상 파일이 어떻게 구성되어있든 상관 없이 설정한 옵션으로 동작하기 때문에 대상의 오디오 정보를 정확히 모른다면 당연하게도 소리가 원하는 대로 나오지 않을 것이다. 예제와 설명 -t raw : 타입이 raw, 즉 PCM 파일을 재생하겠단 의미한다. -c 2 : 2채널로 재생한다. 2채널은 Stereo 타입을 의미한다. -r 48000 : 샘플링레이트(sample rate)를 48Khz로 재생한다. -f S16_LE : Signed 16bits Little .. 2022. 1. 15.
grub installer, 부트로더 스크립트 예제 grub installer 이전 linux 와 windows 운영체제의 swap 이 필요한 환경이 있었다. 그때 작성한 부트로더 변경 스크립트이다. 이 것도 어디 고이 짱박혀 있던걸 가져온건데.. 예전에 난 뭐하던 사람이지?? 왜 하나도 모르겠지?? 분명 주석 스타일, 네이밍 스타일, 인덴트 억지로 맞추는 부분까지 내 스타일이 맞는데.. 날이 갈수록 멍청해지고 있는게 명백한 사실인듯 하다.. 혹시 쓸 일이 생길지 몰라 기록을 남겨둔다. grub config 파일 스크립트 파일 첨부 스크립트 내용 #!/bin/bash echo "Install grub boot loader" sudo -k /usr/bin/zenity --info \ --width=300 --height=50 --no-wrap \ --tim.. 2022. 1. 15.
[C/C++] C++ curl handler class 예제, C언어 curl 구현 C++ curl handler class 예제 C언어 curl, C++ curl, libcurl, linux curl C++ 클래스로 curl 을 쉽게 사용하게끔 구현하여 공유한다. 혹시 C에서 사용하고 싶다면 해당 소스코드의 클래스 내에 libcurl 함수를 제어하는 부분만 뽑아서 사용하길 바란다. https://github.com/muabow/home/tree/main/library/cpp/api_curl GitHub - muabow/home: C/C++, PHP, GO source/library C/C++, PHP, GO source/library. Contribute to muabow/home development by creating an account on GitHub. github.com 목.. 2022. 1. 13.
[PHP] 문자열 앞글자 삭제하기 예제, ltrim/substr 활용 문자열 앞글자 삭제하기 예제 remove the first character of string php 내장 함수인 ltrim과 substr을 이용하여 문자열의 앞글자 하나만 삭제하는 예제를 보겠다. 1. ltrim() 활용 - 문장의 가장 앞글자가 동일한 패턴인 경우 ltrim()의 이용이 가능하다. 아래 예제처럼 앞글자가 "/"로 반복하는 경우 ltrim()의 인자로 "/"를 사용하여 trimming 할 수 있다. ltrim()은 left trim을 의미하고 좌측의 공백을 없애는 기능을 하지만 인자으로 받는 문자(문자열도 가능)도 없애준다. 즉 좌측 기준 인자로 준 문자와 매칭되면 삭제를 수행한다. // Strip whitespace (or other characters) from the beginni.. 2022. 1. 12.