私はMEANスタックでアプリケーションを開発しています。新しい画像がサーバーにアップロードされるときに、画像のサイズ変更のスクリプトを作成して、背景処理としてクロップすることをお勧めします。tailコマンドの結果を変数に格納する方法は?
スクリプトは、フォルダ内の新しい画像のアップロードを監視し、それをトリミングします。
私はLinuxシェルスクリプトのデーモンとしての好みの方法です。
私は以下のアイデアを熟練した作業に使用しました。 - サーバー上の新しい画像をphotolog.txtファイルにアップロードします。ここで画像を1行ずつ取り込むことができます。 - watch.shシェルスクリプトファイルでphotolog.txtを読んでいます。 - EOLに達するまで、行単位で反復します。 - もう一度新しいファイルが到着すると、EOLに追加されます。 - tailコマンドで更新されたファイルを取得し、最新のaddファイルをコマンドラインで表示できます。このコードまで、それは魅力的です。
これで、サーバーに新しく追加されたファイルのイメージリストを取得できました。主な問題は、tailコマンドの出力を変数に格納するのに失敗していることです。出力が何であれ、ファイル名の完全パスであり、imagemagick cropコマンドで使用するためです。
スケール付きのイメージマジックセンター作物とイメージ。
は変換-define ファイル型:サイズ= 120x120^-gravityセンターは、100×100 resize_filenameを-extent widthxheightのoriginal_filename -thumbnail
watch.sh
#!/bin/bash
path="/var/www/html/AppBite/trunk/photolog.txt"
cat $path | \
until false
do
# If file exists
if [[ -f "$path" ]]
then
while IFS= read -r photo
do
imageFormat=`identify $photo | awk '{print $2}'`
imageScale=`identify $photo | awk '{print $3}'`
echo "$photo $imageFormat $imageScale"
done
fi
# Continous monitor file changes via commandline
tail -f $path
done
私は正常にコマンドライン出力を取得していますが、次に使用するimagemagick画像処理コマンドのために変数に値を格納できません。
または、新たに追加されたファイルリストを取得するために、継続的な監視フォルダに他の方法を提案します。
をあなたが私にこの考えについての示唆を与える場合、私は本当に感謝しています私のアイデアが間違っているか正しいのか?または私はこれを改善する必要がありますか? –