2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

여러 개의 인수를 xargs로 전달하려면 어떻게 해야 하나요?

_____
Q: 여러 개의 인수를 xargs로 전달하려면 어떻게 해야 하나요?

A: 여러 개의 인수를 xargs로 전달하는 방법은 다음과 같습니다.

1. 기본 사용법
기본적으로 xargs는 표준 입력으로 받은 데이터를 공백이나 줄 바꿈 단위로 분리하여 명령어 인수로 전달합니다.
```
echo "arg1 arg2 arg3" | xargs command
```
위 예시는 `command arg1 arg2 arg3`와 동일하게 실행됩니다.

2. 한 번에 여러 인수 전달 (-n 옵션)
xargs의 `-n` 옵션은 한 번에 실행할 명령어에 전달할 인수 개수를 지정합니다.
예:
```
echo "1 2 3 4 5 6" | xargs -n 2 echo
```
출력:
```
1 2
3 4
5 6
```
즉, 명령어가 여러 번 실행되며 각 실행마다 2개의 인수를 받습니다.

3. 명령어 내에서 여러 인수가 필요할 때 (-I 옵션)
xargs의 `-I` 옵션은 입력값을 특정 문자열로 치환하여 각 인수마다 명령어를 실행합니다.
그러나 여러 인수를 한꺼번에 넣고자 할 때는 주로 -n 옵션과 함께 사용하거나, 입력 형식을 조정하여 사용합니다.

4. 기본적으로 여러 인수 합쳐서 한번에 넘기기
입력 내 공백을 적절히 처리하면 한 번에 여러 인수를 넘길 수 있습니다.
예:
```
echo "foo bar baz" | xargs echo
```
출력은 `foo bar baz`가 됩니다.

5. 파일로부터 여러 인수 읽기
파일 안에 여러 인수가 단어별로 나누어져 있으면:
```
cat file.txt | xargs command
```
각 단어가 command의 인수로 모두 전달됩니다.

6. 인수 구분자를 사용자 정의하기 (-d 옵션)
기본 구분자가 공백이나 줄바꿈이 아닌 경우, `-d` 옵션으로 구분자를 설정할 수 있습니다.
예:
```
echo "arg1,arg2,arg3" | xargs -d',' command
```

요약:
- 여러 개 인수를 한번에 넘기려면 공백으로 구분된 값을 xargs에 넘기면 됩니다.
- 인수를 한 번에 몇 개씩 전달할지 `-n` 옵션으로 제어할 수 있습니다.
- 특수한 구분자가 있으면 `-d`로 지정하고, 각 인수를 특정 위치에 넣고 싶으면 `-I` 옵션을 사용합니다.

이 방법들을 조합하여 필요에 맞게 여러 인수를 xargs 명령어로 전달할 수 있습니다.
`xargs`는 표준 입력으로부터 받은 데이터를 인수로 변환하여 다른 명령어에 전달하는 유용한 도구입니다.

여러 개의 인수를 `xargs`로 전달하려면 특정 형태의 명령을 사용할 수 있습니다.

아래에서는 `xargs`를 사용하는 방법을 설명합니다.

기본 사용법 `xargs`는 기본적으로 파이프와 함께 사용되며, 사용 예시는 다음과 같습니다.

```bash echo "arg1 arg2 arg3" | xargs command ``` 위의 명령은 `command`에 `arg1`, `arg2`, 및 `arg3`를 인수로 전달합니다.

인수를 여러 개 전달하기 1. 기본 리미터 사용 : 기본적으로 `xargs`는 공백과 개행구분자로 사용합니다.

여러 개의 인수를 한 번에 전달하려면 입력 데이터에서 공백으로 분리되어야 합니다.

```bash echo "file1 file2 file3" | xargs rm ``` 이 예제에서는 `rm` 명령어가 `file1`, `file2`, `file3` 파일을 삭제합니다.



2. `-n` 옵션 사용 : `-n` 옵션을 사용하면 `xargs`가 한 번에 사용하는 인수의 수를 제한할 수 있습니다.

```bash echo "arg1 arg2 arg3 arg4" | xargs -n 2 command ``` 위의 명령은 `command`에 `arg1 arg2`, 그리고 `arg3 arg4`를 두 번 호출하게 됩니다.



3. 사전적 조합 : 입력 데이터를 여러 개의 인수 조합으로 변환할 수 있습니다.

예를 들어, 짝수 인수와 홀수 인수를 조합할 수도 있습니다.

```bash echo -e "file1\nfile2\nfile3\nfile4" | xargs -n 2 echo ``` 이렇게 하면 다음과 같은 출력이 생성됩니다: ``` file1 file2 file3 file4 ```

4. 구분자 변경 : `-d` 옵션을 사용하여 다른 구분자를 지정할 수도 있습니다.

```bash echo "file1,file2,file3" | xargs -d, rm ``` 이 명령은 쉼표로 구분된 파일명을 `rm` 명령에 전달합니다.

예제 1. 텍스트 파일에서 각 줄을 인수로 사용 : ```bash cat file_list.txt | xargs -n 1 command ``` 여기서 `file_list.txt`의 각 줄은 `command`의 별도의 인수로 전달됩니다.



2. find와 함께 사용 : ```bash find . -name "*.txt" | xargs grep "검색어" ``` 위의 명령은 현재 디렉토리와 그 하위 디렉토리에서 `.txt` 파일을 찾아 `grep`으로 "검색어"를 검색합니다.

이와 같은 방법으로 `xargs`를 사용하여 다양한 인수를 손쉽게 전달할 수 있습니다.

필요에 따라 각 옵션을 조합하여 원하는 형태로 사용할 수 있습니다.

작성자: 최하은 [비회원] | 작성일자: 1년 전 2025-04-17 07:20:48
조회수: 173 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.