2009-03-13 9 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