Thu, February 5, 2009
パス+ファイル名の文字列からファイル名(ただし拡張子を取り除いた文字列)だけを取り出したい(Bash編)
images/ というディレクトリ以下に大量の png ファイルがある。 これを画像管理データベースに入れたいのだが、そのときそれぞれの画像に付けるIDを ファイル名から拡張子を取り除いたものを使用したい。
code
#!/bin/sh
files=`find ./images -name "*.png"`
for f in $files
do
echo $f
bf=`basename $f` # パス情報を削除
id=${bf%.*} # 拡張子を削除
echo $id
# do something ...
done