xargs

다른 명령, 파일 등으로부터 전달된 인수를 사용하여 명령을 실행. 입력은 하나의 텍스트 블록으로 처리되며 공백, 탭, 개행 및 파일 끝에서 별개의 조각으로 분리됩니다. 더 많은 정보: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/xargs.html.

  • 입력 데이터를 인수로 사용하여 명령 실행:

인수들_소스 | xargs 명령어

  • 입력 데이터에 대해 여러 연결된 명령 실행:

인수들_소스 | xargs sh -c "명령어1 && 명령어2 | 명령어3"

  • 여러 스레드를 활용하여 .log 확장자를 가진 모든 파일을 gzip으로 압축 (-print0는 파일 이름을 null 문자로 분리하고, -0은 이를 구분자로 사용):

find . -name '*.log' -print0 | xargs -0 -P 4 -n 1 gzip

  • 각 인수에 대해 한 번씩 명령 실행:

인수들_소스 | xargs -n1 명령어

  • 각 입력 줄에 대해 한 번씩 명령 실행, 입력 줄로 플레이스홀더(여기서는 _로 표시)를 대체:

인수들_소스 | xargs -I _ 명령어 _ 선택적_추가_인수들

  • 한 번에 최대-프로세스 프로세스까지 병렬 실행; 기본값은 1입니다. 최대-프로세스가 0인 경우, xargs는 가능한 많은 프로세스를 동시에 실행:

인수들_소스 | xargs -P 최대-프로세스 명령어