正規表現、初めてのみ発生

正規表現、初めてのみ発生

パイプライン出力があり、free -o -m | awk '{print $4}'1行目と2行目の2つの数字を段階的に実行しようとしています。したがって、2つの正規表現が必要です。試しましたが、^[0-9]{1,3}$これはすべての項目と一致します。 111 222 333です

最初の正規表現は111で、2番目の正規表現は222になりたいです。

ベストアンサー1

あなたの質問は時代に少し遅れています。

おそらく次のようなものが欲しいでしょう。

free -o -m | awk '
  $1 == "Mem:" {print "do something with " $4}
  $2 == "Swap:" {print "do something with " $4}'

それは次のとおりです。

eval "$(free -o -m | awk '
  $1 == "Mem:" {print "free_mem=" $4}
  $1 == "Swap:" {print "free_swap=" $4}'
)"
printf "%s\n" "Free mem: $free_mem" "Free swap: $free_swap"

おすすめ記事