Bash Shell脚本以获取介于两年之间的值

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

我正在使用一个小的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\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