私はこのようなディレクトリ構造を持っています。
dir
├── dirA
│ └── file1
│ └── subdir
└── dirB
└── file2
└── subdir
file1をdirA / subdirに移動し、file2をdirB / subdirに移動する必要があります。 Linuxでこれを行うにはどうすればよいですか?
答え1
スクリプトまたは単一のコマンドを使用してこれを実行できますdir
か?mv dirA/file1 /dirA/subdir/
mv dirB/file2 /dirB/subdir/
ジェイソンC.
答え2
これは、さまざまなリポジトリディレクトリのさまざまな.ymlファイルを各リポジトリディレクトリの「task」サブディレクトリに移動するのに効果的でした。
for dir in */; do mv -- "$dir"*.yml "${dir}tasks/"; done
答え3
検索
find dir -mindepth 2 -maxdepth 2 -type f -execdir sh -c 'mv -t ./*/ "$1"' find-sh {} \;
find dir \
-mindepth 2 -maxdepth 2 -type f \
-execdir sh -c '
mv -t ./*/ "$1"
' find-sh {} \;
元のディレクトリ構造
dir
├── dirA/
│ ├── fileA
│ └── subdir/
│ ├── e
│ ├── q
│ └── w
└── dirB/
├── fileB
└── subdir/
├── c
├── x
└── z
移動作業後
dir
├── dirA/
│ └── subdir/
│ ├── e
│ ├── fileA
│ ├── q
│ └── w
└── dirB/
└── subdir/
├── c
├── fileB
├── x
└── z
答え4
シェルで次のコマンドを実行します。
mv file1 /dir/dirA
mv file2 /dir/dirB**
mvは移動を意味します。
mv "filename.txt" "location/where/you/want/file/to/go"