Bash Shell脚本以获取介于两年之间的值
我正在使用一个小的bash代码,它工作得很好,但我只是想看看是否有更好的方法来正式化下面的awk片段,即在第八栏中查找2002年到2018年之间的文件Bash Shell脚本以获取介于两年之间的值,bash,shell,awk,Bash,Shell,Awk,我正在使用一个小的bash代码,它工作得很好,但我只是想看看是否有更好的方法来正式化下面的awk片段,即在第八栏中查找2002年到2018年之间的文件 $AWK“'$8>=“2002”和&$8您可以使用此AWK脚本: awk '$8 >= 2002 && $8 <= 2018 { sum[$3] += $5 } END { for (i in sum) { printf "User %s Total Space consumed: %d
$AWK“'$8>=“2002”和&$8您可以使用此AWK
脚本:
awk '$8 >= 2002 && $8 <= 2018 {
sum[$3] += $5
}
END {
for (i in sum) {
printf "User %s Total Space consumed: %d\n", i, sum[i]
total += sum[i]
}
print "==============="
print "Total Space consumed by All Users:", total
}' file
@anubhava,我已经更新了样本数据。请添加与所提供的样本数据匹配的预期输出
/注意,虽然您可能会在这里得到答复,但这类问题在您有一段功能代码需要改进的地方,更多地是关于@anubhava的主题,添加了样本数据的预期输出。@Aaron,您是You’你完全正确,今后我会考虑这个建议。
User 16871 Total Space consumed: 0.0905161GB
User 253758 Total Space consumed: 0.0750855GB
User 34130 Total Space consumed: 3.52537GB
User 36640 Total Space consumed: 0.55393GB
User 8490 Total Space consumed: 3.70858GB
User tx-am Total Space consumed: 0.18992GB
User tx-ffv Total Space consumed: 0.183137GB
User tx-ttv Total Space consumed: 17.2371GB
User tx-st Total Space consumed: 0.201205GB
User tx-ti Total Space consumed: 58.9704GB
User tx-tts Total Space consumed: 0.0762068GB
------------ snipped output --------------
==============================================================
Total Space consumed by All Users: 255.368GB
-rw-r--r-- 1 34130 ftpsecure 101M Mar 26 2007 /data1/focus-del/files_1
-rw-r--r-- 1 34130 ftpsecure 172M Oct 13 2005 /data1/focus-del/files_2
-rw-r--r-- 1 34130 ftpsecure 213M Nov 8 2005 /data1/focus-del/files_3
-rw-r--r-- 1 34130 ftpsecure 138M Feb 17 2006 /data1/focus-del/files_4
-rw-r--r-- 1 34130 ftpsecure 169M Sep 26 2016 /data1/focus-del/files_5
-rw-r--r-- 1 34130 ftpsecure 214M Nov 15 2018 /data1/focus-del/files_6
-rw-r--r-- 1 34130 ftpsecure 101M Mar 26 2002 /data2/focus-del/files_1
-rw-r--r-- 1 34130 ftpsecure 172M Oct 13 2006 /data2/focus-del/files_2
-rw-r--r-- 1 34130 ftpsecure 213M Nov 8 2008 /data2/focus-del/files_3
-rw-r--r-- 1 34130 ftpsecure 138M Feb 17 2016 /data2/focus-del/files_4
-rw-r--r-- 1 34130 ftpsecure 169M Sep 26 2018 /data2/focus-del/files_5
-rw-r--r-- 1 34130 ftpsecure 214M Nov 15 2018 /data2/focus-del/files_6
$ sh Ftp_cal.sh
User 34130 Total Space consumed: 1.87568e-06GB
==============================================================
Total Space consumed by All Users: 1.87568e-06GB
awk '$8 >= 2002 && $8 <= 2018 {
sum[$3] += $5
}
END {
for (i in sum) {
printf "User %s Total Space consumed: %d\n", i, sum[i]
total += sum[i]
}
print "==============="
print "Total Space consumed by All Users:", total
}' file
User 34130 Total Space consumed: 2014
===============
Total Space consumed by All Users: 2014