回答:
forループを使用します。
for d in $(find /path/to/dir -maxdepth 1 -type d)
do
  #Do something, the directory is accessible with $d:
  echo $d
done >output_fileディレクトリのサブディレクトリのみを検索します/path/to/dir。ディレクトリ名に空白または特殊文字が含まれている場合、上記の簡単な例は失敗することに注意してください。より安全なアプローチは次のとおりです。
find /tmp -maxdepth 1 -type d -print0 |
  while IFS= read -rd '' dir; do echo "$dir"; doneまたはプレーンでbash:
for d in /path/to/dir/*; do
  if [ -d "$d" ]; then
    echo "$d"
  fi
done(それに反してfind、ディレクトリへのシンボリックリンクも考慮し、隠されたものを除外することに注意してください)
findそのような出力の処理に関連する制限とリスクを指摘してください。
                    date +"%m%d20%Y"| xargs echo echo $ d
                    date +"%m%d20%Y"| xargs echo echo $ d期待される結果はすべてのサブディレクトリからls -ltrです。ループ上で動作していない
                    私は完全にbash初心者ですが、UN * Xのベテランです。間違いなくこれはBashシェルスクリプトで実行できますが、昔はfind [-maxdepth <levels>] <start-dir> -exec <command> ;これを達成するために使用していました。man findおそらく誰かがあなたにそれをする方法をあなたに言うまで、あなたはすることができて、遊ぶことができましたbash!
findコマンドを実行するオーバーヘッドを回避します。
                    $(find...)事はある悪い習慣。
                    各サブディレクトリの下にファイル名が必要なようです。ls -l | awkこれらのファイル名が空白および/または改行を含む、どのような場合のために、堅牢で十分ではないのですか?以下は、たまたまそれらのために持っていないs findでも動作します:find-maxdepth
find . ! -name . -type d -prune -exec sh -c '
   cd "$1" && \
   find "." ! -name . -prune  -type f
' {} {} \;ls、grep、trを使用することもできます
for dir in $(ls -1FA | grep / | tr -d /); do echo $dir/something; done
ls -1FA | grep / | tr -d / | while IFS= read -r TD; do echo $TD/something; donelsに上記のオプションがない場合は、du / sedをセレクターとして使用することもできます
du --max-depth=1 | sed -e 's/^.*\.\///' | grep -v '\.$'これらの例が隠しディレクトリを返し、親ディレクトリと現在のディレクトリを除外することに注意することが重要かもしれません