その他のドキュメントでいっぱいの大きな「myfiles」ディレクトリがあり、その構造を変更したくありません。
したがって、ドキュメントのクラスごとに(いくつかの)他のディレクトリを作成しました。たとえば、「myfiles」ディレクトリ内の各ファイル.jpgまたは.cr2ファイルへのシンボリックリンクと、説明と他のメタデータを含む各シンボリックリンク(同じファイル名を持つ)の他の説明ファイルを持つ「images」ディレクトリがあります。/ imagesディレクトリのシンボリックリンクは、元のリンクされたファイルとは異なる名前を持つ場合があります。
「myfiles」ディレクトリ内のすべての画像ファイルに「images」ディレクトリへのシンボリックリンクがあることを確認する最も簡単な方法を見つけようとしています。
フォルダー構造の例を見る
/myfiles/a.doc
/myfiles/b.jpg
/myfiles/c.cr2
/myfiles/d.mov
結果になるはずです
/images/b_800x600.jpg
/images/b_800x600.desc
/images/c_3820x5640.cr2
/images/c_3820x5640.cr2
ls -lすると、2番目の列にハードリンク数が表示されます。
rmこれらのシンボリックリンクディレクトリとpax -rwl -s "\|.*regex|modifes_filename|" /path/to/myfiles/*.jpg /path/to/jpg_dir、たとえば、jpgに一致するファイルのみのプログラムで変更されたファイル名を持つハードリンクを取得するために使用します。変更時間に基づくバッチ処理など、それ以外にも多くのことが可能になります
find /myfiles -type fために使用find /images -type l -exec readlink {} \; | egrep myfilesし/imagesて、結果sedごとに反復して、保存した最初のファイルのパスを削除することができます。シンボリックリンクがあり、残っているファイルはシンボリックリンクがないファイルです。