xargs의 -I 매개변수는 무엇을 합니까?

xargs의 -I 매개변수는 무엇을 합니까?

나는 bash 스크립트를 작성 중이며 -I답변에서 이 주장을 발견했습니다.여기그리고여기그러나 나는 그것이 무엇을 하는지 이해하지 못합니다. 이것수동나도 잘 모르겠다.

두 번째 답변은 또한 내가 이해하지 못하는 다음 텍스트를 지적합니다.

find /thisdir -type f -name "*.ogg" -print0 | xargs -0 -Imysongs mv -i mysongs /somedir 

-I위 명령에서 xargs사용할 대체 문자열을 알려줍니다(그렇지 않으면 명령 끝에 인수를 추가합니다).

답변1

예, 그것은 우회적인 설명이지만 궁극적으로 매우 간단합니다. -I패턴을 정의하십시오. 패턴은 나머지 명령줄을 검색하여 표준 입력의 입력으로 바꿉니다.

예시에서 다음을 보여주었습니다.

xargs -0 -Imysongs mv -i mysongs /somedir 

-I명령줄의 나머지 부분에서 검색되는 "mysongs" 패턴을 정의합니다 .

귀하의 예에서는 find.ogg 파일 목록이 생성됩니다. 파일이 곧 도착할 예정입니다 xarg. 따라서 발견된 각 파일 이름에 대해 find명령 xarg이 생성되고 실행됩니다.

mv -i <filename> /somedir

관련 정보