コマンド概要
Albumという項目で余分なスペースを無視してawkで抽出
exiftool filename | awk -F ': ' '{gsub(/[ \t]+$/, "", $1); if ($1=="Album") print $2}'
ポイント
- -F ': ' で : とスペースを区切り文字にする
- gsub(/[ \t]+$/, "", $1) で $1 の末尾の空白やタブを削除
- if ($1=="Album") で正しく判定
追加(参考)
pythonで書いた場合
import subprocess
import json
def get_album(filename):
result = subprocess.run(["exiftool", "-json", filename], capture_output=True, text=True)
metadata = json.loads(result.stdout)
return metadata[0].get("Album") # Album がない場合は None になる
filename = "your_audio_file.m4a"
album_name = get_album(filename)
print("Album:", album_name)
import subprocess
import re
def get_album(filename):
result = subprocess.run(["exiftool", filename], capture_output=True, text=True)
for line in result.stdout.splitlines():
if line.strip().startswith("Album"):
return re.split(r'\s*:\s*', line, maxsplit=1)[1]
return None # Album情報がない場合
filename = "your_audio_file.m4a"
album_name = get_album(filename)
print("Album:", album_name)
感想
shellってなんだかんだで簡単に書けるよね。。。