我有一個運行良好的小腳本,只是它嘗試讀取一些我不希望它讀取的檔案但未能讀取。除了讀取這些額外檔案需要更多時間之外,它不會影響操作。
find "$FIND_START" -type f -wholename "*/DAT/*.zip" | while read -r SOURCE_FILE
do
echo "Generating data from $SOURCE_FILE"
java -jar \
generator-0.2.4-jar-with-dependencies.jar \
$SOURCE_FILE $VARIATION $OUTPUT_DIR $NUM_GENERATE $SEED \
> stdout.txt 2> stderr.txt
done
DAT/無法保證檔案夾所在的深度,或者我想我可以以某種方式使用maxdepth引數。
但是,我知道所有.zip檔案都直接包含在DAT/目錄中,而不是任何子目錄中。
有沒有辦法指定通配符后的深度?如果重要的話,我在 Windows 上使用 git bash。
uj5u.com熱心網友回復:
使用-regex而不是-wholename(順便說一句,相當于更便攜的-path)。
find "$FIND_START" -type f -regex '.*/DAT/[^/] \.zip'
[^/] 匹配不包含 的字符序列/,因此它不會跨DAT.
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/350249.html
下一篇:將經過時間調整為5小時?
