ファイル名をハッシュの最初のN文字に変更する単一のコマンド

ファイル名をハッシュの最初のN文字に変更する単一のコマンド

私はmacOSモハービーを使用しています。

私は自分のサイトに画像を追加するときに画像名を付けるのが嫌いです(Jekyll、興味のある人のための情報)。代わりに、ファイルの内容に基づいてハッシュを生成し、ハッシュの最初のN文字をファイル名として使用するのが合理的な戦略だと思います。この戦略は、Amazon S3 および CloudFront を介してウェブサイトを提供する際の資産バージョン管理にも役立ちます。

はい

ファイルが与えられたら、somescreenshot.pngこのTBDコマンドを実行し、結果は名前が変更されたファイルです8dbm2hz1.png

進展

私はこれについて進歩しましたが、現在は多段階のアプローチです。

  1. ハッシュを作成し、最初の8文字を取得してクリップボードに送信します。
    shasum -a 256 -b inputfile.png | head -c8 | pbcopy
  2. ファイルの名前を変更します。
    mv inputfile.png [paste from #1]

このコマンドを効率的なパイプラインシングルステッププロセスとして作成する必要があります。

ベストアンサー1

なぜ使用しないのですか:

mv -- inputfile.png "$(shasum -a 256 -b inputfile.png | head -c8)"

$(shasum -a 256 -b inputfile.png | head -c8)ファイルがハッシュ値の最初の8文字の出力に移動されます。

おすすめ記事