揮発性のメモ2

http://d.hatena.ne.jp/iww/

ファイル名の分解

EZ-NET: シェルスクリプトでファイル名や拡張子名を取得する - Linux シェルスクリプト プログラミング
に書いてあるとおりに実施

#!/bin/sh

FILENAME=$1
DIRNAME=`dirname "$FILENAME"`
EXTNAME=`echo ${FILENAME##*.} | tr a-z A-Z`
FILENAME_WITHOUT_EXT=${FILENAME%.*}
BASENAME=`basename "$FILENAME_WITHOUT_EXT"`

echo FILENAME=$FILENAME
echo DIRNAME=$DIRNAME
echo EXTNAME=$EXTNAME
echo BASENAME=$BASENAME
echo FILENAME_WITHOUT_EXT=$FILENAME_WITHOUT_EXT

実行結果

$ ./filename.sh ./filename.sh 
FILENAME=./filename.sh
DIRNAME=.
EXTNAME=SH
BASENAME=filename
FILENAME_WITHOUT_EXT=./filename
$ ./filename.sh /home/hoge/jikken/filename.sh 
FILENAME=/home/hoge/jikken/filename.sh
DIRNAME=/home/hoge/jikken
EXTNAME=SH
BASENAME=filename
FILENAME_WITHOUT_EXT=/home/hoge/jikken/filename