[英]Shell scripting in nested directories
我在嘗試在目錄內的所有文件夾上運行命令時遇到問題。
例如:PWD是/ home / user / Documents我希望我的程序/腳本能夠正常工作
/home/user/Documents
/home/user/Documents/directory1
/home/user/Documents/directory1/foo
/home/user/Documents/directory2
/home/user/Documents/directory2/bar
etcetera運行命令:
tranalyzer -r <file in folder> -w OUT_<name of folder>
我也希望刪除所有沒有擴展名.dmp的文件
如果有人可以給我提供指導或他們會提供幫助,我將不勝感激。
# iterate over a NUL-delimited stream of directory names
while IFS='' read -r -d '' dirname; do
# ...then list files in each directory:
for file in "$dirname"/*; do
# ignore directory contents that are not files
[[ -f $file ]] || continue
# delete files which do not have the .dmp extension
if [[ $file != *.dmp ]]; then
rm -f "$file"
continue
fi
# run analysis tool
tranalyzer -r "$file" -w "OUT_${dirname##*/}"
done
done < <(find . -type d -print0)
為了使此命令生效,您必須位於包含要遞歸的目錄的頂層目錄中。
set -f
OIFS="$IFS"
IFS=$'\n'
for file in `find . -type f`;
do
tranalyzer -r "$file" -w OUT_<name of folder>
done
IFS="$OIFS"
set +f
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.