ファイルからサイズ (kb) を抽出しようとしています。次のようにしようとしています:
textA=$(du a)
sizeA=$(expr match "$textA" '\(^[^\s]*\)')
textB=$(du b)
sizeB=$(expr match "$textB" '\(^[^\s]*\)')
echo $textA
echo $sizeA
echo $textB
echo $sizeB
[[ $sizeA == $sizeB ]] && echo "eq"
しかし、これはコンソールの textA と textB に出力されるだけです。どちらも次のようなものです:
30745 a
正規表現が一致しない理由を誰か説明してもらえますか? 念のため、多くのサイトでテキストに対して正規表現をテストしようとしましたが、正しいテキストをキャプチャしているようです。
私もそれを次のように変更しようとしました:
'^\([^\s]*\)'
しかし、この方法ではすべてのテキストがキャプチャされます。何かご意見は?