2017-03-03 17 views
0

一度特定の文字を押すと、Bashの文字列を後端からトリムする方法を見つけようとしていました。Bashの特定の文字に基づいて文字列を調整する

例:https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip

(私は私の変数としてそれを設定します):私の文字列は、この(または任意のリンク)である場合。 (つまり、私がecho $varの場合、そのリンクを返します:)

私はバッシュを使用したいと思っています。私はsedまたはawkを利用する必要がありますが、終わりから始めてトリミングしたい最初の/を参照してください(ファイル名になるので)。

そのリンクを使用して、私は/ so jus "MyFoodapediaData.zip"の後ろにいて、別の変数に設定しようとしています。 「私はsedの年代で作業しようとした

を* /。」MyFoodapediaData.zipをし、それから開始します:私は(私がいること、それを呼び出す場合)$ var2のエコーのであれば、最後に、それだけで戻ります

最初のスラッシュが見つかるまでの開始点。可能であれば逆順を探していました。

答えて

3

あなたはこのためにbashの組み込みパラメータ置換を使用することができます。

$ var='https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip' 
$ echo "$var" 
https://www.cnpp.usda.gov/Innovations/DataSource/MyFoodapediaData.zip 
$ var2=${var##*/} 
$ echo "$var2" 
MyFoodapediaData.zip 

${var##*/}手段「var変数の値の先頭から、アップ最後スラッシュにすべてを削除します。」

マニュアルのparameter substitutionを参照してください。

+0

HOLY CRAP!あなたは魔法です。 それは素晴らしいです、それはすでに動作します!不気味な速いターンアラウンドに感謝します! (おそらくそのような基本的な質問は申し訳ありませんでした!) – robromo

+0

心配はいりません。我々はすべてゼロから始める。知識を身に付けさせるために質問を続け、他のQ&Aを検索してください。 –

関連する問題