2013-05-06 55 views
0

我有一個多級PHP文件的目錄。我想對所有這些PHP文件執行以下命令。xargs和參數位置

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

所以,我寫了下面find命令,並將其輸送到xargs

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

php命令期望PHP文件是最後一個參數。我假設xargs將在末尾追加find列出的文件。但這似乎並沒有發生。

如何告訴xargs在命令末尾添加參數?

+1

'xargs'默認會將'stdin'中的項追加到命令的末尾。你可以使用'-I'來覆蓋它,但似乎有其他的東西出錯了。每個命令只需要一個PHP文件?如果是這樣,使用'-n 1'。 – 2013-05-06 07:10:55

+0

@MichaelBurr看來問題不在於這個位置,而是我每個命令都需要一個文件。我按照你的建議加了'-n1',現在它可以工作。你可以把它作爲答案發布,以便我可以接受它嗎? – Sudar 2013-05-06 07:14:13

回答

4

xargs確實在缺省情況下將stdin中的項追加到命令末尾。您可以使用-I來覆蓋該內容,但似乎還有其他內容出錯了。每個命令只需要一個PHP文件?如果是這樣,請使用-n 1