나는 이와 같은 디렉토리 구조를 가지고 있습니다.
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"