(bash)実行結果の最終行を取得し、変数に代入する
今回はHackinotshではなく、bashシェルのネタ。
コマンドの実行結果の最終行だけ取得したいケースがあり、その際の記録です。
例えば以下のコマンドを実行すると。。。
$ apt update
実行結果はこうなります。
ヒット:1 http://jp.archive.ubuntu.com/ubuntu focal InRelease
ヒット:2 http://jp.archive.ubuntu.com/ubuntu focal-updates InRelease
ヒット:3 http://jp.archive.ubuntu.com/ubuntu focal-backports InRelease
ヒット:4 http://jp.archive.ubuntu.com/ubuntu focal-security InRelease
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
パッケージはすべて最新です。
上記のうち、最終行の「パッケージはすべて最新です。」だけを取得して、変数に含めたい場合があるとします。
以下の記述で取得できました。
#!/bin/bash
PACKAGE=$(apt update|tail -n 1)
echo $PACKAGE