라벨이 linux인 게시물 표시

RHEL에서 PDF 첫 페이지의 텍스트와 이미지 포함 여부 확인하기

# RHEL 환경에서 PDF의 첫 페이지에 텍스트와 이미지가 모두 포함되어 있는지 확인하는 방법 - PDF 파일이 단순한 텍스트로만 구성된 문서인지, 아니면 이미지나 혼합된 요소들로 구성된 파일인지를 확인해야 할 때가 있습니다. - 특히 첫 페이지에 텍스트와 이미지가 동시에 포함되어 있는지 확인하는 작업이 필요한 경우가 많습니다. RHEL 환경에서 이 작업을 `pdfimages`, `pdftotext`, 그리고 `pdfgrep`을 통해 쉽게 수행할 수 있습니다. ## 사전 준비: 필수 패키지 설치 - 먼저, RHEL 환경에서 `pdfimages`, `pdftotext`, `pdfgrep`을 설치해야 합니다. - 일반적으로 RHEL에서는 **Poppler**와 **PDFgrep** 패키지를 통해 이 도구들을 제공합니다. `poppler` ``` sudo yum install poppler-utils ``` `pdfgrep` ``` sudo yum install pdfgrep ``` ## 1. 첫 페이지에 이미지가 포함되어 있는지 확인하기 - `pdfimages` 명령어는 PDF 파일에서 이미지를 추출하는 데 유용한 도구로, Poppler 패키지에 포함되어 있습니다. 이를 통해 첫 번째 페이지에 이미지가 있는지 확인할 수 있습니다. ``` pdfimages -f 1 -l 1 yourfile.pdf output_prefix ``` - 설명: -f 1과 -l 1 옵션은 첫 번째 페이지만 추출하도록 지정합니다. output_prefix는 출력 이미지 파일의 접두어로 사용됩니다. - 결과 확인: 첫 번째 페이지에 이미지가 있다면 output_prefix-000.ppm 또는 output_prefix-000.jpg와 같은 파일이 생성됩니다. 파일이 생성되지 않는다면, 첫 번째 페이지에 이미지가 없다는 의미입니다. ## 2. 첫 페이지에 텍스트가 포함되어 있는지 확인하기 - 텍스트가 포함되어 있는지 확인하려면 pdftotext나 pdfgrep...

sed 명령어 통한 파일 전체 치환

# Linux 환경에서 사용, 특정 파일 replace ### 특정 파일 변경 = file만 변경 ``` sed -i 's/old_string/new_string/g' ./file ``` ### 특정 파일 패턴 변경 = file1 이 포함된 파일들 전체 변경 ``` sed -i 's/old_string/new_string/g' ./file1* ``` ### 전체 폴더 순회 변경 ``` find ${순회할 폴더경로} -type f -name "${바꿔치기할 파일 이름 패턴}" -exec sed -i 's/old_string/new_string/g' {} + - 패턴 상관없이 전체 변경 find ${순회할 폴더경로} -type f -exec sed -i 's/old_string/new_string/g' {} + ```

[네트워크/Unix] 소켓 통신 개념

이미지
Unix 소켓 통신의 개념을 함수 별로 정리해보려 합니다. --- 1. Application에서 Socket 함수 호출 시, Kernel을 통해 Socket 기술자가 생성됩니다. --- 2. Bind, IP 혹은 Port정보를 통해, 소켓 기술자와 Application을 연결합니다. --- 3. 이후 Listen을 호출하면 해당 소켓에 대한 Back log Queue, 연결 대기 큐가 생기게 됩니다. --- 4. Client 연결 요청에 따라, Backlog Queue 에 쌓이게 됩니다. --- 5.  이후 Backlog Queue에 쌓인 Client를 FIFO 로 가져오게됩니다. 여기까지가 unix 함수를 통해 알아본 소켓 내부 동작과정입니다. 아마 거의 모든 소켓프로그래밍이 이 과정을 거치리라 생각합니다. 추가로 읽으면 좋을 것

[Unix/Linux] Thread Pool 구현 [1]

이미지
Thread Pool을 만들 일이 있어 포스팅 합니다. 일단 Event Driven 형식으로 Epoll Event가 오면, 작업을 시작하는데, Non-Block을 하려하지만 큰 파일 전송 상황을 가정하여 ThreadPool로 구현합니다. 구현을 위해서, thread 작업 클래스가 필요하며, 작업이 끝남을 알기위해, flag를 넣었습니다. 일단 기초 작업이며, 이것을 base로 작업하시면 요긴하실 것 같습니다.  우선적으로 threadPool로 사용할 클래스입니다.  작업 시 필요한 것을 class화 시키고, flag 또한 dataClass에 넣습니다. 작업이 끝남을 확인하기 위한 ch_flag Test입니다. StartService 시, false -> true로 바꾸고 do_work(thread 작업) 시 true -> false로 재변환 합니다. 그리고 endService() 에서 종료를 검사합니다. 다음은 실행 시 결과입니다. 이를 바탕으로 thread pool을 구현하겠습니다. 추가로 읽으면 좋을 것

이 블로그의 인기 게시물

윤석열 계엄령 선포! 방산주 대폭발? 관련주 투자 전략 완벽 분석

대통령 퇴진운동 관련주: 방송·통신·촛불수혜주 완벽 분석

키움 OPEN API MFC 개발 (1)