매개 변수 대체: xargs

2066 단어 linuxshellfindxargs
1. xargs
args 는 arguments 매개 변수 라 는 뜻 입 니 다.
xargs 의 역할 은 명령 매개 변 수 를 만 드 는 것 을 의미 합 니 다.
xargs 는 stdin 데 이 터 를 읽 을 수 있 습 니 다. 빈 칸 이나 줄 로 구분 하여 stdin 을 arguments 로 구분 할 수 있 습 니 다.
매개 변수 목록 을 작은 블록 으로 변환 하여 다른 명령 에 전달 하여 매개 변수 목록 이 너무 긴 문 제 를 피 하 는 역할 을 합 니 다.
파이프 가 지원 되 지 않 는 명령 은 xargs 를 통 해 이 명령 의 인용 stdin 을 제공 하여 사용 할 수 있 습 니 다.
2. xargs 사용법
xargs [-0epn] command
- 0: 입력 한 stdin 에 특수 기호 가 포함 되 어 있다 면, 예 를 들 어 ',\, 빈 칸 등 문자 가 있 으 면 이 매개 변 수 는 일반 문자 로 복원 할 수 있 습 니 다.
- e: EOF (end of file) 라 는 뜻 입 니 다. 뒤에 문자열 을 연결 할 수 있 습 니 다. xargs 가 이 문자열 을 해석 할 때 작업 을 중단 합 니 다.
- p: 모든 명령 인 자 를 실행 할 때 사용자 에 게 의 사 를 물 어 봅 니 다.
- n: 뒤쪽 연결 횟수, command 명령 이 실 행 될 때마다 몇 개의 인 자 를 사용 해 야 한 다 는 뜻 입 니 다.
3. xargs 반환 값
0 if it succeeds
123 if any invocation of the command exited with status 1-125
124 if the command exited with status 255
125 if the command is killed by a signal
126 if the command cannot be run
127 if the command is not found
1 if some other error occurred.
4. 사용
find 에서 얻 은 데 이 터 를 file 을 통 해 파일 형식 을 검사 합 니 다.
xargs 통과
$ find . * |  file     
Usage: file [-bcikLnNsvz] [-f namefile] [-F separator] [-m magicfiles] file...
       file -C -m magicfiles
Try `file --help' for more information.

파일 매개 변수 너무 긴 예
path 디 렉 터 리 에 파일 이 너무 많 으 면 '매개 변수 목록 이 너무 길 어서' 오류 가 발생 하여 실행 할 수 없습니다.그러나 xargs 로 바 꾼 후에 문 제 는 바로 해결 되 었 다.
$ find . * | xargs file 
.:                                                                                     directory
./test:                                                                              directory
./ui.cpp:                                                                                      ASCII C program text

grep 명령
xargs 는 아래 방식 을 사용 할 수 있 습 니 다.
rm `find /path -type f`
find /path -type f -print0 | xargs -0 rm

주소:http://blog.csdn.net/yonggang7/article/details/41788669

좋은 웹페이지 즐겨찾기