xargs의 입력 데이터를 파일에서 읽어오려면 어떻게 하나요?
A: xargs는 표준 입력(stdin)으로부터 데이터를 받아서 인자를 만들어 명령어에 넘기는 유틸리티입니다. 파일에 있는 데이터를 xargs에 전달하려면 보통 다음 방법 중 하나를 사용합니다.
1. 입력 리다이렉션 사용하기
```bash
xargs < filename
```
이 방법은 `filename` 파일의 내용을 표준 입력으로 xargs에 전달합니다.
2. 파이프와 cat 사용하기
```bash
cat filename | xargs command
```
`cat` 명령어로 파일 내용을 출력하고 파이프로 xargs에 전달합니다. 여기서 `command`는 xargs가 인자로 넘길 실행할 명령어입니다.
3. -a 옵션 사용하기 (GNU xargs)
```bash
xargs -a filename command
```
GNU 버전의 xargs는 `-a` 옵션으로 직접 파일을 지정해 입력소스로 사용할 수 있습니다. 이때 `command`는 선택 사항이며, 지정하지 않으면 기본적으로 `echo`가 사용됩니다.
---
파일 `list.txt`에 여러 파일명이 들어 있다고 할 때, 각 파일에 대해 `ls -l` 명령을 실행하고 싶다면:
```bash
xargs -a list.txt ls -l
```
또는
```bash
cat list.txt | xargs ls -l
```
---
추가 팁 :
- 파일 내 각 줄이 인자로 전달되도록 하려면 `-d '\n'` 옵션을 이용해 구분자를 지정할 수 있습니다. 기본적으로 공백과 줄바꿈이 구분자입니다.
- 긴 인자 목록을 나눠서 처리하려면 `-n` 옵션을 사용하세요, 예: `xargs -n 1 command` (인자 1개씩 실행).
- 입력 파일에 특수 문자나 공백이 포함되어 있을 경우 적절한 구분자와 옵션을 사용해야 예상대로 동작합니다.
---
요약하면, 파일에서 입력을 읽어 xargs로 넘기려면 `xargs -a filename`, `cat filename | xargs`, 또는 `xargs < filename` 방법을 사용하면 됩니다.
작성자:
최서진 [비회원]
| 작성일자: 1년 전
2025-04-17 07:21:11
조회수: 127 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 127 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.