나는 디렉토리를 가지고 있습니다 ~/Desktop/Projects
. 40개의 하위 디렉터리가 있습니다 AAA, BBB, CCC, etc
. 각 디렉터리에는 4개의 동일한 디렉터리가 있습니다 dog, fish, bird, snake
. 각 파일에는 2000개의 파일이 있습니다. 개별적으로 이름이 지정된 파일을 에서 Projects/AAA/dog, fish, bird, snake
으로 이동 AAA
한 다음 BBB
해당 BBB/dog, fish, bird, snake
파일을 40개의 하위 디렉터리 모두로 계속 이동하고 싶습니다 BBB
.
bin
경로 내의 폴더 에 쉘 스크립트를 저장해야 한다는 내용을 읽었습니다 . 나는 이것에 익숙하지 않으며 지침이 없으며 온라인에서 찾은 것뿐입니다. 디렉토리 를 만들었습니다 bin
-- . 저는 학생이기 때문에 ~/Desktop/bin
변경할 수 없습니다 . .bashrc
(그리고 네, 그럴 수도 있어요.할 수 있다하지만 그래서는 안됩니다. ) 내가 시도한 코드 버전은 다음과 같습니다.
#!/bin/bash
cd ~/Desktop/Projects
for d in ~Desktop/Projects; do
cd dog ;
mv * .. ;
done
다른 3개의 하위 디렉터리를 추가했지만 지금은 주석 처리했습니다. 실행하면 모든 디렉터리 AAA, BBB, CCC, etc
가 ~/Desktop
...
나는 본질적으로 " AAA, BBB, CCC, etc
cd()의 모든 디렉토리에 대해 포함된 디렉토리로 내용을 해당 디렉토리의 해당 상위 디렉토리로 이동하십시오"라고 말하고 있다고 생각합니다. 이것이 내가 원하는거야.Projects
dog
dog
for d in ~Desktop/Projects/*/ ; do
이 경우에는 찾을 수 없는 디렉토리 도 시도해 보았습니다 dog
.
저도 시도해봤는데 같은 문제가 for d in */ ; do
있어서 찾을 수가 없었습니다 .for d in /* ; do
for dir in */ ; do
dog
감사해요.