ファイル名の類似性に基づいてファイルを並べ替える

ファイル名の類似性に基づいてファイルを並べ替える

多くのファイルを含むディレクトリ構造があります。同様のファイルを繰り返し検索し、名前でソートしたいと思います。

容易な部分: 。f*.extという名前のすべてのファイルを見つけますdir1

t*.extしかし、今はツリーを再び巡回してdir1。たとえば、dir1/f12345.jpg該当する項目source-tree/t12345.jpg(存在する場合)を見つけてに移動しますdir2

結局のところ、すべての人はそれぞれ1つdir2/t*.extずつ持っている必要がありますdir1/f*.extsource-tree/t*.ext一つもない人はみんなdir1/f*.extその場にいなければなりません。

ベストアンサー1

この試み:

# Create dir2:
mkdir dir2
# After moving f* to dir1, loop through these files (dir1/f*):
for f in dir1/f*; do
    # get the basename, cut off the "f" and put a "t" instead:
    t=source-tree/t$(basename "$f" | cut -c 2-)
    # If that file exists, move it to dir2
    [ -f "$t" ] && mv "$t" dir2
done

おすすめ記事