多くのファイルを含むディレクトリ構造があります。同様のファイルを繰り返し検索し、名前でソートしたいと思います。
容易な部分: 。f*.ext
という名前のすべてのファイルを見つけますdir1
。
t*.ext
しかし、今はツリーを再び巡回してdir1
。たとえば、dir1/f12345.jpg
該当する項目source-tree/t12345.jpg
(存在する場合)を見つけてに移動しますdir2
。
結局のところ、すべての人はそれぞれ1つdir2/t*.ext
ずつ持っている必要がありますdir1/f*.ext
。source-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