-
RHCE认证用户基础中包含一个更复杂的awk示例
资源介绍
一个更加复杂的awk例子
统计/project目录下所有属于用户joshua的文件的总大小.
#ls -l /project | awk '$3 == "joshua" { \
sum += $5 } END { print sum }'
[root @stationxx root ] # ls -l /project | awk '$3 == "joshua" { sum += $5 }END { print sum }'
128362496
来上面的例子中,ls -l的输出通过管道重定向到awk:
[root @stationxx root] # ls -l
total 175916
-rw-r--r-- 1 joshua joshua 19714560 Oct 17 15:19 colors.db
-rw-r--r-- 1 joshua joshua 33862144 Oct 17 15:19 dates.db
-rw-r--r-- 1 root root 31826432 Oct 17 15:33 distance.db
-rw-r--r-- 1 root root 19714560 Oct 17 15:32 feelings.db
-rw-r--r-- 1 joshua joshua 31826432 Oct 17 15:19 flavors.db
-rw-r--r-- 1 joshua joshua 42959360 Oct 17 15:19 times.db
利用这个输出awk寻找第三个域匹配joshua的行:
-rw-r--r-- 1 joshua joshua 19714560 Oct 17 15:19 colors.db
-rw-r--r-- 1 joshua joshua 33862144 Oct 17 15:19 dates.db
-rw-r--r-- 1 joshua joshua 31826432 Oct 17 15:19 flavors.db
-rw-r--r-- 1 joshua joshua 42959360 Oct 17 15:19 times.db
awk然后把第五个域的内容加入变量sum。最后, awk打印变量sum的内容sum:
128362496
- 上一篇: 到哪里学到更多-RHCE认证用户基础
- 下一篇: 一个简单的awk例子-RHCE认证用户基础