2011-01-10 8 views
13

こんにちは私は、ファイルの特定のパスからファイルの名前を見つける簡単なシェルスクリプトが必要です。 likeそのパスからファイル名を見つけるシェルスクリプト

$path = "/var/www/html/test.php"; 

次に、いくつかの変数で値 "test"を取得したいと思います。また、.phpファイルのみが存在します。私はbashシェルを使用しています。 おかげ

答えて

31

試してみてください。

path="/var/www/html/test.php" 
name=$(basename "$path" ".php") 
echo "$name" 

引用符が$pathにスペースが含まれている場合の問題を防ぐためにのみ存在します。ベース名()関数を使用し

basename "/var/www/html/test.php" 
16

は、UNIXコマンドで構築を使用してください。それはUNIXの機能でbuilyです

+0

ありがとう! –

1
string="/var/www/html/test.php" 

oIFS="$IFS"; IFS='/' 
set -A str $string 
IFS="$oIFS" 

echo "strings count = ${#str[@]}" 
len=${#str[@]} 
pos=`expr $len - 1` 
echo "file : ${str[$pos]}"; 

出力 -

strings count = 4 
file : test.php 
2

関連する問題