sed \s


export m1=`free|cut -d ":" -f2|sed -e "s/^\s\s*//g"|head -2|tail -1|cut -d ' ' -f1`
 
#free
total used free shared buff/cache available
Mem: 1002664 27516 803344 248 171804 961688
Swap: 0 0 0
 
cut -d ":" -f2
以:为分隔符,打印出第二部分
     total used free shared buff/cache available
     1002664 27516 803344 248 171804 961688
     0 0 0
sed -e "s/^\s\s*//g" 表示将行头空白字符去除掉
\s 匹配任何空白字符,包括空格、制表符、换页符等等。
 
非打印字符
非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:
字符     描述
\cx     匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
\f     匹配一个换页符。等价于 \x0c 和 \cL。
\n     匹配一个换行符。等价于 \x0a 和 \cJ。
\r     匹配一个回车符。等价于 \x0d 和 \cM。
\s     匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
\S     匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t     匹配一个制表符。等价于 \x09 和 \cI。
\v     匹配一个垂直制表符。等价于 \x0b 和 \cK。
 
|head -2|tail -1| 取出前两行后一行
1002664 27516 803344 248 171804 961688
 
cut -d ' ' -f1
以空给为分隔符,打印出第一部分
 
export m=`expr $m1 \* $1 / 100 / 1024`
乘法操作应采用 \* 转义,避免被作为Shell通配符


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM