2016-07-20 14 views
1

接頭辞を保持している2つの変数と完全な文字列を持つ変数が1つあります。例えばUnixシェルスクリプト:変数から共通接頭辞を削除する

prefix="TEST_" 
Str="TEST_FILENAME.xls" 

については

私は、strは、プレフィックスと比較し、その共通文字のTEST_」を削除することにしたいと私はFILENAME.XLSとして出力したいです。もしそれが最小限のコード行でできたら助言してください。どうもありがとう。

答えて

1

BASHを使ってあなたが行うことができます:

prefix="TEST_" 
str="TEST_FILENAME.xls" 
echo "${str#$prefix}" 

FILENAME.xls 

BASHを使用していない場合は、sedを使用することができます。

sed "s/^$prefix//" <<< "$str" 

FILENAME.xls 
+1

ありがとうございました。私はbashを使用しています、それは動作します:) – Karthik

1

これを試してみてください:

$ Str=$(echo $Str | sed "s/^${prefix}//") 
$ echo $Str 
FILENAME.xls 

または使用のawkを:

$ echo $Str | awk -F $prefix '{print $2}' 
FILENAME.xls 
関連する問題