2016-08-24 76 views
0

當我運行命令cd dir && find . -name "*.html"時,它完美地顯示了所有的html文件,包括子目錄中的html文件。但是當我運行命令cd dir && find . -name "*.html" | for f in *.html; do "action"; done時,在當前目錄中只有我的循環,但不會更改子目錄中的html文件。我嘗試在for循環中合併查找,但僅導致出現錯誤消息。找到的文件管道

回答

0

你可以把它改寫爲

cd dir && find . -name "*.html" | while read f; do "action"; done 

你這麼做的時候

... for f in *.html; ... 

你在哪裏,其實上市在當前目錄中的HTML文件,它相當於事實上ls *.html,而不是過濾從管道收到的清單(正在被忽略)