Linuxフォトグラファーのサービスのコマンドライン

こんにちはハブラ



自分は怠け者の写真家だと思います。 つまり、キャプチャした素材を綿密に処理するのは好きではありませんが、同時に、できればすばやくインターネット上に1枚または2枚の写真を投稿したいという気持ちを定期的に感じています。



私がほぼ100%使用しているLinuxには、写真を操作するためのさまざまなグラフィカルツールがあります。 ただし、使用するプログラムに必要な機能がない場合があります。

または彼女はいますが、あなたは彼女を見つけることができませんでした。 どうする? もちろん、bashを使用します。



2つの典型的な状況を考慮してください。



1)撮影は複数のカメラで同時に行われ、それぞれが異なる名前でファイルを保存します。 たとえば、1つはDSCFxxxx.jpgという形式の名前でファイルを作成し、もう1つはPxxxxxxxx.jpgを作成します。

並べ替えの利便性のために、一方ではある程度統一され、他方では画像の日付と時刻を含むような名前にしたいと思います。そうすると、日付と時刻による並べ替えがサポートされていない環境で写真を順番に並べることができます。 そのためには、exiv2プログラムが役立ちます。



この場合、私はそうします。 各写真ディレクトリに移動して処理し、写真に単一のタイムゾーンを設定します。 最初に、このディレクトリが作成した多数のカメラのどれで、どれがタイムゾーンに設定されているかを確認する必要があります。 たとえば、カメラがモスクワ時間に撮影され、夏に3時間遅れのGMTを設定する必要がある場合、次のコマンドを実行します。



exiv2 -a -3 *.JPG







EXIFからの新しいデータを表示することにより、正しい時間設定を確認できます。



exiv2 *.JPG | grep ' '







すべてが正常な場合、次のコマンドでディレクトリ内のすべてのファイルの名前を変更できます。



exiv2 -t -r'%Y%m%d-%H%M%S-:basename:' *.JPG







その後、ファイル名は統一されたビューになります。これにより、ファイル名の並べ替えが簡単になり、写真が撮影されたときにファイル名で確認することもできます。



次に、次のディレクトリに移動し、計画されたすべてのディレクトリを処理した後、結果を1つの共通のディレクトリにマージします。 非常に明確であることがわかります。次は、2011年1月6日の朝に2台の異なるカメラで撮影された写真のリストからの抜粋です。



20110106-094958-DSCF2173.JPG

20110106-101332-P1250178.JPG

20110106-101410-P1250180.JPG

20110106-122204-DSCF2188.JPG

20110106-122216-DSCF2190.JPG









2)写真をPicasaにアップロードしたとします。 そして今、例えばあなたのブログでそれらを公開したいと思います。 Picasa2html.comを使用すると、 必要な HTMLをすばやく生成できます。

しかし、これは不運です-写真キャプションのテンプレートを挿入しません!

正しいアプローチは、独自の同様のサービスを作成することです。

しかし、これは長い時間であり、慢性的に十分な時間ではありません。 迅速なアプローチを取ります。



サイトで生成されたテキストを取得し、photos1.txtというファイルに書き込みます。

その後、コマンドを与えます



sed '/<p.*p>/d' photos1.txt | sed 's/<\/a>/<\/a>\n00. xxx\n\n/gpw photos2.txt'







彼女は何をしているの? 最初のsed呼び出しでは、別個の段落として設計されたpicasa2htmlロゴを切り取ります。

2番目のsed呼び出しは、最初の結果(写真へのクリーンリンク)をパイプラインから取得し、各写真の後に署名ごとにテンプレートを挿入します(署名を上に置くと、スクリプトを簡単にやり直すことができます)。



したがって、次の形式のソースコードブロック



 <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154095475647410"><img src="1450822379562064245147" border="0"></a><br> <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154138485468866"><img src="1450822379849647876873" border="0"></a><br> <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154208871818754"><img src="http://lh6.ggpht.com/-DxT6hGi6-QQ/Tmzuz9bCJgI/AAAAAAAACD0/uqoRVuuFqCs/s720/DSCF7467.JPG" border="0"></a><br>
      
      







フォームのブロックに変わります



 <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154095475647410"><img src="1450822379562064245147" border="0"></a><br> 00. xxx <br> <br> <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154095475647410"><img src="1450822379562064245147" border="0"></a><br> 00. xxx <br> <br> <a href="https://picasaweb.google.com/111237353143627593504/201103#5651154138485468866"><img src="1450822379849647876873" border="0"></a><br> 00. xxx <br> <br>
      
      







photos2.txtファイルから結果を取得してブログに挿入し、署名をローカルで編集して、ゼロを意味のある数字に、「xxx」を意味のある署名に置き換えます。

自動番号付けを行わなかったのはなぜですか? はい、私の意見では、写真の再配置はすでにポストで最も便利であり、したがって、番号付けは発行直前にのみ最終的なものになるためです。



私の投稿は完全なものではなく、彼は対話に招待しています。

志を同じくする人々に耳を傾けることは興味深いでしょう。 グラフィカルツールを使用する代わりに、写真を処理するスクリプトを頻繁に作成しますか? おそらく共有するものがありますか?



All Articles