본문 바로가기
리눅스/서버운영

xargs 명령어 (입력받아 다음 명령어의 인자로 변환)

by 상달군 2023. 12. 1.
728x90

xargs명령어

xargs 명령어는 표준 입력(standard input)에서 데이터를 읽어 명령어의 인자(argument)로 변환하여 실행하는 유틸리티입니다. 주로 다른 명령어의 출력을 처리하거나 여러 명령어를 조합할 때 사용됩니다.

일반적인 사용법은 다음과 같습니다:

# command | xargs [options] [command [initial-arguments]]

command | xargs [options] [command [initial-arguments]]


여기서 command는 xargs가 실행할 명령어를 나타냅니다. 

command에는 xargs로부터 전달되는 입력을 인자로 받아 실행하는 명령어가 들어갑니다.

옵션과 초기 인자에 대한 간단한 설명은 다음과 같습니다:

options: xargs 명령어에 적용되는 옵션들을 지정합니다.
command: xargs로 전달된 입력을 받아 실행할 명령어를 지정합니다.
initial-arguments: 명령어에 전달될 초기 인자를 지정합니다.

 

일반적으로 사용되는 몇 가지 옵션입니다:

 

1. -n, --max-args=MAX-ARGS: 한 번에 실행할 명령어의 최대 인자 수를 지정합니다.

예를 들어, -n 1은 각 실행에서 하나의 인자만 전달하도록 합니다.

ls | xargs -n 1 command
echo a b c | xargs -n 1 echo "Arg: {}"

2. -I, --replace[=REPLACE-STR]: 주어진 명령어에서 {}를 특정 문자열로 대체합니다. -I 뒤에 오는 문자열은 대체할 문자열로 사용됩니다.

echo a b c | xargs -I {} echo "Arg: {}"

3. -p, --interactive: 각 명령어 실행 전에 사용자에게 확인을 요청합니다.

ls | xargs -p command

4. -t, --verbose: 각 명령어를 실행하기 전에 실행할 명령어를 출력합니다.

ls | xargs -t command

5. -r, --no-run-if-empty: 입력이 없을 경우 명령어를 실행하지 않습니다.

ls | xargs -r command

6. -d, --delimiter=DELIM: 입력을 구분하는 문자를 지정합니다. 기본적으로 공백 및 개행 문자가 구분 문자로 사용됩니다.

echo "a:b:c" | xargs -d : command

7. --no-run-if-empty: 입력이 없을 경우 명령어를 실행하지 않습니다.

ls | xargs --no-run-if-empty command

8. -E, --eof[=EOF-STR]: 입력 끝에 도달하면 명령어를 실행하지 않습니다.

ls | xargs -E '' command
728x90

댓글