1

特定のソース (例: /var/www/html/folder1/source/) の下にあるファイル (例: *.jpg) を単純に検索するシェル スクリプトを作成し、Find コマンドによって返された出力を使用していくつかの操作を行う必要があります。以下は、スクリプトに記述したコマンドです

outputvar = find /var/www/html/folder1/source/ -name \*.jpg

find コマンドの出力を格納する変数に対してトラバース操作を行うにはどうすればよいですか?

4

2 に答える 2

4

findコマンドの出力をファイルに入れたい場合があります。

find /var/www/html/folder1/source/ -name \*.jpg > /tmp/find.out

その出力をシェル変数に入れることもできます。

outfindvar=$(find /var/www/html/folder1/source/ -name \*.jpg)

そして、それらを繰り返すことができます

for jpgfile in $outfindvar; do 
   ## do something with $jpgfile
done

名前にスペースが含まれるファイルがある場合は、注意してください。その場合は、 の-print0アクションを使用することを検討してくださいfind-execまたは、アクションに補助スクリプトを使用することもできます。

あなたは本当にAdvanced Bash Scripting Guideを読むべきです

でスクリプトを開始することができます

#!/bin/bash -vx

デバッグ中に削除し-vx、スクリプトが正常に機能したら削除します。

于 2012-11-08T06:34:28.320 に答える
2

あなたがそれでやりたいことは何でも出力をパイプするのはどうですか?

find /var/www/html/folder1/source/ -name \*.jpg | other_command
于 2012-11-08T06:36:00.523 に答える