2014-04-19 4 views
1

나는 폴더의 수백의 내가 이름MV 폴더

예를 들어,의 일환으로 BBC와 peppapig의 이름을 한 몇 가지 폴더가 있다고 가정하자, 폴더의 이름에 따라 구성 할 수 있습니다 (폴더)

doc_BBC_life 
BBC.nature 
peppapigepisode1 
kidspeppapigseries 
animalsBBC-docment 
newfolder1 
newfolder2 

는 이제 폴더를 이동하려면 (가 4 개) newfolder2 폴더

에 이름이 "peppapig"가 폴더에 간다려면 NewFolder1와 같은라는 하위 폴더에 이름이 "BBC"가 그

참고 : 각 폴더에는 이름이 "BBC"또는 "peppapig"인 여러 파일이 있으며, 스크램블링없이 콘텐츠를 유지하려고합니다.

나는 MV를 사용하여이 "MV BBC BBC/

어떤 제안 같은 것을하고 싶어? 감사

답변

0

당신은 매우 유연한 검색을 만들기 위해 find 유틸리티를 사용하여 mv 명령으로 결합 할 수 있습니다 이것은 똥개 내의 모든 디렉토리를를 이동할 것

find . -iname "*bbc*" -type d | xargs mv ./BBC/ 

다음 args` 유틸리티를 사용하여 rent 폴더에 BBC 폴더에 "bbc"라는 이름 (대소 문자 구별 )이 있어야합니다. 디렉토리 이동은 내용을 변경하거나 "스크램블링"하지 않습니다.

mv *BBC* newfolder1 

그리고

mv *peppapig* newfolder2 

을 다음과 같이

+0

아니요.이 명령은'./BBC /'를 포함한 모든 폴더를'find'가 찾은 마지막 폴더로 이동시킵니다. – DilithiumMatrix

5

당신은 또한 find

find . -type d -name '*BBC*' -exec mv "{}" newfolder1 \; 

그리고

를 사용하여이 같은 작업을 수행 할 수 있습니다 이동에 직접 mv 명령을 사용할 수 있습니다
find . -type d -name '*peppapig*' -exec mv "{}" newfolder2 \; 
2

코멘트를 쓸 수 없습니다, 그래서 내가 대답을 추가해야합니다 : 당신은 그것이 움직이지 않고 볼 수 있습니다

drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 bbc 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 bbc1 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 bbc2 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 dir_to_mv 
[email protected]:~/he$ find . -iname "*bbc*" -type d | xargs mv ./dir_to_mv/ 
[email protected]:~/he$ ls -l 
total 4 
drwxrwxr-x 5 myuser myuser 4096 Apr 19 21:31 bbc1 
[email protected]:~/he$ cd bbc1/ 
[email protected]:~/he/bbc1$ ls -l 
total 12 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 bbc 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 bbc2 
drwxrwxr-x 2 myuser myuser 4096 Apr 19 21:31 dir_to_mv 

: 나는 그것이 잘못된 결과를 생산하고 나를 위해 arkascha에 의해 주어진 솔루션을 시도

bbc 디렉토리를 dir_to_mv로 가정합니다. 다음은 작동합니다 : 당신이 다른 경로에있는 디렉토리 dir_to_mv이 필요하고 디렉토리에서 작업중인되지 있습니다

find . -iname "*bbc*" -type d -exec mv '{}' ../dir_to_mv/ \; 

. 그렇지 않으면 find는 이상한 재귀 결과를 생성합니다.

항상 찾기로 돌볼 사람이 있습니다.