特定の行の変数にIDを保存したいです。

特定の行の変数にIDを保存したいです。

私のファイルにはこの行があります。

容量 - 基本ID:205

205を検索して変数に保存したいです。どんな提案でも。 ?

答え1

これを行う方法はいくつかあります。そのうちのいくつかは次のとおりです。

string='Capacity - Base ID:205'

variable="$(echo "$string" | awk -F: '{print $2}')"
variable="$(echo "$string" | cut -d: -f2)"
variable="$(echo "$string" | grep -o '[^:]*$')"

両方205に保存されます$variable。すべて文字の後に続く文字列部分を抽出して機能します:。最初の2つ(awkおよびcut)は文字が1つしかないと仮定し:、最後の(grep)は:文字数に関係なくファイルの最後の文字の後のすべての項目のみをキャプチャします。

答え2

STRINGT=$(grep -m1 "BASE ID" ${file}); ID=${STRINGT:-3:3} 

これは効果があります

関連情報