我期待CHOWN包含單詞的所有文件「喜」我怎麼會喬恩一切由grep的
我現在有
grep -r $1 $2
if [ $? -eq 0 ]; then
echo "Found text"
echo $match
echo "start"
與輸入被一些發現如./test.sh "hi" *
我能夠獲得所有包含hi的文件,但是當我嘗試chown時,我不知道應該如何處理管道我知道你可以將變量傳遞給下一個參數,例如;
grep -r $1 $2 | chown user1:root *
,但似乎只是做了整個目錄,這不是我想要的。
任何有關閱讀或調查的內容的建議?
如果名稱中有奇怪的字符,可能會付錢將** xargs **部分更改爲** xargs -i chown user1:root「{}」** – tink
感謝您的幫助,它有效。你可以解釋爲什麼在使用xargs時你不必在user1:root之後指定目錄路徑嗎? – 21days
@ 21days,'xargs'只是將文件名與「grep」輸出文件名完全相同,並將它們轉換爲參數。如果你的'grep'在一個子目錄中找到一個文件,那麼它報告的文件名將包含該文件路徑的必要前導元素。 'xargs'不會做任何神奇的事情;它只是使用給它的東西。 –