我正在尝试从文件中提取大小(以 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]*\)'
但是这样它会捕获所有的文本。有什么想法吗?