显示系统根目录的磁盘利用率,不显示百分号。( awk,sed )
[root@localhost ~]# df -h | grep "/$" | awk ' {print $5}' | sed 's/%//'
36
[root@localhost ~]# df -h | grep "/$" | awk ' {print +$5}'
36
我想问下,标红的地方: grep "/$" 表示啥意思?虽然我知道答案。
还有另外一个地方 awk '{print $5}' 和 awk '{print +$5}' 多了一个+
其结果就完全不一样了,那这个+是啥意思呢?
grep "/$" 表示最后一个字符是“/”的行
print +$5 这里应该是一元加的用法。
手册上提到:
表达式会转化为数值。简单测试:
$ echo "a" |awk '{print $1,+$1,-$1,2+$1}'
a 0 0 2
$ echo "1a" |awk '{print $1,+$1,-$1,2+$1}'
1a 1 -1 3
$ echo "a1" |awk '{print $1,+$1,-$1,2+$1}'
a1 0 0 2
$ echo "1a1" |awk '{print $1,+$1,-$1,2+$1}'
1a1 1 -1 3
看起来是字符串中从第一个非数值字符开始都去掉了...
这样的话这种用法倒是可以用在某些字符串处理的场景上
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。