2017-12-04 12 views
0

次の手順を実行するスクリプトを作成しようとしています。 1.スクリプトを実行するときにパラメータとして指定されたディレクトリ内のすべてのフォルダに移動します。 2. "Histogram"と呼ばれる各サブディレクトリにフォルダを作成します。 3. Ending * .jpg を持つすべてのファイルを読み込みます。4. "Convert XY -format%c histogram:info"コマンドで画像をtxtファイルに変換します。 :XY.txt「ヒストグラムを」フォルダにするTXTファイル 5.移動 6.ゴーバックディレクトリを起動し、次のフォルダにフォルダのすべてのサブディレクトリに移動してコマンドを実行するスクリプト

を継続するためには、これは私がこれまでに得たものである:

pfad="${1:-.}" 
cd "$pfad/" 
mkdir Histogram 
for i in 'ls -1 *.jpg' 
do 
cat $1 | 
convert $i -format %c histogram:info:"Histogram_$1'.txt"| 
mv "Histogram_$i'.txt" Histogram/ 

ことがありますスクリプトが各サブディレクトリのコマンドを実行し、フォルダの作成とフォルダ内のtxtファイルの移動も機能しないことを示しています。

+0

findコマンドでTXTファイルに

#!/usr/bin/bash for absfile in "[email protected]"; do dir=${absfile%/*}/Histogram file=${absfile##*/} mkdir -p "$dir" || exit 1 convert "$absfile" -format %c histogram:info:"$dir/Histogram_$file.txt" || exit 1 done 

呼び出し、このスクリプトを作成するスクリプトを作成します私の宿題に関する質問。しかし、とにかく 'dirs = \'を見つけることができます。 'dir'の' for dir 'を使って '* .jpg'ですでに行ったように、dirsを繰り返し処理します。ループ内でdirを作成してファイルを移動することができます – mbieren

+0

この結果、スクリプトは開始ディレクトリにフォルダを作成し、サブディレクトリにはアクセスしません。 Therfore、また、2番目のループは、私がフィードバックを得るとうまくいきません。 "jpg:アクセスできない:そのようなファイルやディレクトリはありません"というように、開始ディレクトリにはjpgファイルがありません – BabsiFTW

答えて

0

よりこれは、DOを絶対ファイル名のリストを受け取り、いないが存在する場合Histrogramフォルダを作成し、

find root_path -name '*.jpg' -exec ./script.sh {} + 
関連する問題