2012-03-27 15 views
2

OSX Snow LeopardでBashスクリプティングを行うと、ファイルサフィックスのセットを削除したいが、googlefuが失敗する。bash;接尾辞のいずれかを削除する

file="filename_1" 
file1=${file%_1} 
echo $file1 
filename 

を考えると

はしかし、ストリッピングにパターンリストを導入する任意の変化が、例えば私を失敗している:

shopt -s extglob 
file1=${file/@(%_1|%_end)/} 
echo $file1 
filename_1 

私が使用して、変数にパターンリストを入れて試してみましたかっこまたはなし、引用符またはなし。 私は、末尾の文字列の置換やトリミングがパターンリストを取っていないとか、むしろ明らかに何かが欠けていると結論づけようとしています。エレガントなソリューションや、パターンリストについて私が欠けているかもしれないものについての提案をありがとう。

答えて

0

それは2つのコマンドを使用することを許容できるなら、あなたはsedでこのような何かを行うことができます。

echo $YOURVARIABLE | sed 's/\(_1\|_WHAT\|_EVER\|_EXTENSION\)$//' 
関連する問題