素肌にサスペンダー

個人的な備忘と日記

【kMDItemWhereFroms】WEB上でダウンロードしたファイルの入手先URLの一部をファイル名に一括でまとめて付与したい時

ブラウザからファイルをダウンロードして、finderの右クリックで情報を見る→入手先を見ると、ダウンロード元のURLが書いてあり、ファイルに対して、どこから入手したのか情報が保存されている。 kMDItemWhereFromsていうのに保存されているっぽい。

macで、WEB上でダウンロードしたcsvファイルの入手先URLのクエリストリングを、ファイル名に接尾辞(サフィックス)として一括でまとめて付与したかった。


手順

1.csvをまとめてどこかのフォルダに入れる。

2.1.のフォルダに以下のスクリプトrename.shという名前で保存する。

for file in ./*.csv; do
    url=$(mdls -name kMDItemWhereFroms "$file" | sed 's/.*http/http/')
    new_filename=$(basename "$file" .csv)_${url##*/}
    mv "$file" "${file%/*}/$new_filename.csv"
done

3.ターミナルを起動して、1.のフォルダに、cdで移動して、sh rename.shを実行


これで、一気にまとめてcsvにファイル名に接尾辞を付与できた。 命名規則は、new_filenameのところをよしなに変えればOK。


参考

developer.apple.com