文字列の一部を抽出するには、シェルを使用する必要があります。

文字列の一部を抽出するには、シェルを使用する必要があります。

このようなスクリプトがありますが、

#/bin/bash -x
LASTBUILD=' 174254491  2018-08-08T11:04:40Z  gs://abc/kishor/5.4.0.61/xyz-5.4.0-61.tgz
 TOTAL: 46 objects, 7325896651 bytes (6.82 GiB)'

echo "this is the LASTBUILD ============== $LASTBUILD"

LATESTBUILD=echo $LASTBUILD | cut -d ' ' -f 3

echo "this is the LATESTBUILD ############### $LATESTBUILD"

実行後の結果は次のように表示されます。

[root@root ~]# echo $LATESTBUILD

[root@root ~]#

私の予想結果は次のとおりです。

[root@root ~]# echo $LATESTBUILD
gs://abc/kishor/5.4.0.61/xyz-5.4.0-61.tgz
[root@root ~]#

上記のコードは機能しません。

PS:awkも試してみましたが、成功しませんでした。

LATESTBUILD=$LASTBUILD | awk -F '/' '{print $5}'

ベストアンサー1

awk '{ print $3 }' <<< $LASTBUILD

awkのデフォルトフィールド区切り文字は空白なので、スペースで区切られた3番目のフィールドが印刷されます。

おすすめ記事