2

結合する必要がある画像の大きなフォルダーがあり、次を使用して最初のステップを管理しました。

find ./products_raw -type f -exec cp {} products_processed  \;

ただし、元のフォルダー構造には同じ名前のサムネイルも含まれているため、どのサイズの画像がフォルダーに収まるかは運次第です。私の論理は、ファイルが大きいかどうかを確認できれば、それが正しいファイルである可能性が高いということです。これを達成する方法がわからないため、通常の検索ではあまり明確なものは表示されません。

乾杯!

編集:言及する必要がありましたが、私はOSXを使用しています

4

2 に答える 2

2

そうですね、答えはかなり単純です。

最初に、ファイルのリストとそのサイズを取得します。

find . -type f -printf '%s\t%f\t%p\n'

サイズ、ファイル名、ファイル パス (名前付き) の 3 つの列があります。

次に、サイズで並べ替えて、より大きなファイルをより早く作成します。

find . -type f -printf '%s\t%f\t%p\n' | sort -nr

次に、それを awk に渡して、繰り返しファイル名を削除します。

find . -type f -printf '%s\t%f\t%p\n' | \
    sort -nr | \
    awk -F'\t' '!c[$2]++ {print $3}'

最後に、ファイルを目的のディレクトリにコピーします。

find . -type f -printf '%s\t%f\t%p\n' | \
    sort -nr | \
    awk -F'\t' '!c[$2]++ {print $3}' | \
    xargs -d'\n' cp -t wherever/
于 2013-06-17T15:25:34.113 に答える