images.txt
たとえば、次のファイルがあるとします。
image1.jpg
image2.jpg
image3.jpg
その後、にパイプし、サムネイルビューimages.txt
にsxiv
変更がすぐに反映されます。私はこれを試しました:
watch -n 0.1 'cat images.txt | sxiv -i -t'
ただしimages.txt
、これを変更して保存した場合(画像ファイル名を追加または削除するなど)、sxivのサムネイルビューは更新されません。
私の配管構造に問題があると思います。これを行う正しい方法は何ですか?
答え1
cat images.txt | sxiv -i -t
既存の構成は、10分の1秒ごとに実行を試みます。sxiv
これより長くかかると、状況が本当に汚れてしまうことがあります。すべての画像のチェックサムハッシュをチェックする方が良いです。
$ md5sum *.jpg | md5sum
4a009e73fb133d2d103dd2e65ef8c605 -
.jpg
これはファイルのすべてのハッシュを取得し、次のハッシュを生成します。それ。つまり、イメージが変更され、イメージが追加または削除されると、追加されたチェックサムも変更されます。
だから私たちはこれを行うことができます:
#!/bin/bash
old_checksum="$(md5sum *.jpg | md5sum)"
while /bin/true; do
new_checksum="$(md5sum *.jpg | md5sum)"
if [[ "$new_checksum" != "$old_checksum" ]]; then
old_checksum="$new_checksum"
find . -maxdepth 1 -name \*.jpg -print0 | xargs -0 sxiv -i -t
fi
sleep 1
done
変更があるたびに新しいチェックサムを記録して再実行してくださいsxiv
。
.jpg
それでもファイルディレクトリを維持するには、ファイルのimages.txt
内容を使用してチェックサムを作成し、代わりにxargs
引数を提供するように簡単に変更できますfind
。