2009-03-13 4 views

답변

4

당신을 위해 빠른 쉘 스크립트를 작성할 수 있습니다. 현재 폴더의 이름으로 활용하려면 다음

pwd|awk -F'/' '{print $NF}' 

을 현재 폴더의 상위 얻을 :

#!/bin/bash 

for f in `find . -name '*jpg'` 
do 
    filename=`echo $f|awk -F'/' '{SL = NF-1; TL = NF-2; print $TL "_" $SL "_" $NF}'` 
    cp $f newfolder/$filename 
done 
:이처럼 보이는 파일을 만듭니다

pwd|awk -F'/' '{SL = NF-1; print $SL}' 

업데이트

다음으로 chmod +x 그 위에. 최상위 레벨에서 스크립트를 실행하십시오. 이 경우, 목적지 newfolder를 미리 작성해야합니다. 이에

./bar 
./bar/baz 
./bar/baz/1.jpg 
./bar/baz/2.jpg 
./bar/baz/3.jpg 
./bar/buz 
./bar/buz/1.jpg 
./bar/buz/2.jpg 
./bar/buz/3.jpg 
./foo 
./foo/baz 
./foo/baz/1.jpg 
./foo/baz/2.jpg 
./foo/baz/3.jpg 
./foo/buz 
./foo/buz/1.jpg 
./foo/buz/2.jpg 
./foo/buz/3.jpg 

그리고 그것을 만든 :

나는이 디렉토리 구조를했다

./newfolder/bar_baz_1.jpg 
./newfolder/bar_baz_2.jpg 
./newfolder/bar_baz_3.jpg 
./newfolder/bar_buz_1.jpg 
./newfolder/bar_buz_2.jpg 
./newfolder/bar_buz_3.jpg 
./newfolder/foo_baz_1.jpg 
./newfolder/foo_baz_2.jpg 
./newfolder/foo_baz_3.jpg 
./newfolder/foo_buz_1.jpg 
./newfolder/foo_buz_2.jpg 
./newfolder/foo_buz_3.jpg 

희망 당신이 찾고 있던 무슨입니다.

+0

신속한 도움을 주셔서 대단히 감사합니다. 좀 더 자세히 설명해 주시겠습니까? 이 배치 파일을 만들어야합니까? 또는 그것을 실행하는 방법? –

+0

셸 스크립트를 포함하도록 답변을 업데이트했습니다. – jedberg

관련 문제