- Published on
Bashのfor inでフォルダの全てのファイルにコマンドを実行
- Authors
- Name
- Shou Arisaka / 有坂翔
LinuxコマンドラインのBash言語で、for in文を使ってフォルダの中の全てのファイルに同じコマンドを実行してループする方法についてメモです。
for in構文を使います。
for f in *; do ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$f" ; done
or
for f in *; do
ffprobe -loglevel error -show_entries format_tags=artist -of default=noprint_wrappers=1:nokey=1 "$f"
done
$f
がファイル名になるわけですが、"$f"
と、ダブルクォーテーションで囲ってやるのが見落としやすいポイント。
参考:
bash command for each file in a folder - Ask Ubuntu