bashを使用したsfvファイル(crcとパス)の生成

bashを使用したsfvファイル(crcとパス)の生成

たとえば、sfvファイルへのパスを含むcrcリストを提供するスクリプトをどのように書くことができますか?これをPythonでコーディングできますが、おそらくシェルの方が簡単な方法があります。

これまで私は以下を持っています:

find . -type f -exec crc32 {} \; > chksum.txt

しかし、これにはパスは含まれません。

サンプル出力は次のとおりです。

file_one.zip   c45ad668
file_two.zip   7903b8e6
file_three.zip e99a65fb

答え1

-execオプション内で個々のファイル名を繰り返し、必要な操作を実行するサブシェルを実行できます。

find . -type f -exec sh -c '
    for file; do 
        echo "$file" "$(crc32 "$file")"
    done' sh {} +

find内部 for ループは、位置引数の長いリストから名前のリストを取得します。これはfor file; doコマンド入力リストの略語です。for file in "$@"; do$@find

関連情報