簡體   English   中英

嵌套目錄中的Shell腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM