라벨이 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을 구현하겠습니다. 추가로 읽으면 좋을 것

이 블로그의 인기 게시물

[로스트아크] 제작 효율 최적화 위한 영지 세팅

[로스트아크] 로스트아크 생활 도구 옵션

한국 핵무장 논의와 방위산업 관련주: 핵무기 개발 과정과 유망 종목 분석