我有一個函式,它接受一個檔案,執行一些操作,并創建一堆輸出檔案。我有 100 個子檔案夾,名為:
d066, d067, d068.... d165, d166
他們每個人只有 1 個檔案。我想要做的是進入每個子檔案夾,獲取檔案名,對其應用函式,離開子檔案夾,進入下一個等等。
我寫了這個腳本:
for i in {60..166}; do
if [ $i -lt 100 ];
then
var2=d0$i
else
var2=d$i
fi
cd $var2 || exit
f=$(find . -type f)
gd2e.py -rnxFile $f
cd ..
done
問題是我的代碼離開了包含子檔案夾的檔案夾,然后停止了。有誰知道更好的方法來做到這一點?
uj5u.com熱心網友回復:
假設函式可以使用目錄作為輸入引數的一部分(例如,gd2e.py -rnxFile ${i}/${f}),一些想法來簡化當前代碼:
while read -r f
do
gd2e.py -rnxfFile "${f}"
done < <(find d{060..166} -type f)
如果d{060..166}目錄可以有您不想掃描的子目錄,我們可以添加一個-maxdepth 1到find:
while read -r f
do
gd2e.py -rnxfFile "${f}"
done < <(find d{060..166} -maxdepth 1 -type f)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/314542.html
