Closed1

[Shell Script] ディレクトリのみをコピー

Srgr0Srgr0
#!/bin/bash

# 入力となるディレクトリと出力ディレクトリを設定します。
src_dir="/source"
dest_dir="/destination"

# 入力ディレクトリからすべてのディレクトリ(サブディレクトリを含む)を検索します。
# 検索結果は、ファイルのパスをそのまま保持せず、元のディレクトリからの相対パスとします。
find "$src_dir" -type d | while read dir; do
    # 目的のディレクトリに相対パスを結合して新たなパスを作ります。
    new_dir="${dir/#$src_dir/$dest_dir}"
    
    # 新たなパスのディレクトリが存在しなければ、それを作成します。
    # -p オプションを使うことで、親ディレクトリも同時に作成します。
    [ ! -d "$new_dir" ] && mkdir -p "$new_dir"
done
このスクラップは2023/06/04にクローズされました