AWKから変数を読み取る際に問題が発生しました。

AWKから変数を読み取る際に問題が発生しました。

次のコマンドでメモリ情報を取得しようとしています。

#!/bin/bash
set -x
cat /proc/meminfo | grep "MemFree" | tail -n 1 | awk '{ print $2 $4 }' | read numA numB
echo $numA

わかりました。

+ awk '{ print $2 $4 }'
+ read numA numB
+ tail -n 1
+ grep MemFree
+ cat /proc/meminfo
+ echo

私は成功せずにこのデータを変数として読み込もうとしました。私の質問はそれを変数として読む方法です。利用可能なメモリ量を読みたいです(例:90841312KB)。

ベストアンサー1

read以下を使用して簡単に実行できます。

while read -r memfree
  do printf '%s\n' "$memfree"
  done < <(awk -F: '/MemFree/{print $2}' /proc/meminfo)

おすすめ記事