2013-05-06 2 views
0

여러 수준의 몇 가지 PHP 파일이있는 디렉토리가 있습니다. 이 모든 PHP 파일에 대해 다음 명령을 실행하고 싶습니다.xargs 및 인수 위치

php ../../i18n/add-textdomain.php -i bulk-delete file_name.php 

그래서, 나는 다음과 같은 find 명령을 썼다 및 php 명령은 PHP 파일이 마지막 인수 될 것으로 예상 xargs

find . -iname "*.php" -type f -print0| xargs -0 php ../../i18n/add-textdomain.php -i bulk-delete 

에 파이프. 내가 xargsfind에 의해 나열된 파일을 끝에 추가 할 것이라고 가정합니다. 그러나 이것은 일어나지 않는 것 같습니다.

xargs에 명령 끝 부분에 인수를 추가하는 방법은 무엇입니까?

+1

'xargs'는 기본적으로'stdin'에있는 항목을 명령 끝에 추가합니다. '-I'를 사용하여이를 오버라이드 할 수 있지만, 다른 것이 잘못되어있는 것 같습니다. 명령 당 하나의 PHP 파일 만 필요합니까? 그렇다면'-n 1'을 사용하십시오. –

+0

@MichaelBurr 문제는 위치와 관련이없는 것 같지만 명령 당 하나의 파일이 필요했습니다. 내가 제안한대로'-n1'을 추가했는데 이제 작동합니다. 대답을 게시하여 받아 들일 수 있습니까? – Sudar

답변

4

xargs 기본적으로 명령의 끝에 stdin의 항목을 추가하지 않습니다. -I을 사용하여이를 재정의 할 수 있지만 다른 문제가 발생할 수 있습니다. 명령 당 하나의 PHP 파일 만 필요합니까? 그렇다면 -n 1을 사용하십시오.