Closed vieyahn2017 closed 3 years ago
linux的命令 xargs传值 有个上限值,估计2000左右吧
大于2000个文件,对脚本的功能有影响
2261 1 /Log/ce_20200807-1574.log.zip 2262 1 /Log/ce_20200807-1917.log.zip 2263 1 /Log/ce_20200810-1238.log.zip 2264 1 /Log/ce_20200810-1018.log.zip 2265 1 /Log/ce_20200810-935.log.zip 2266 1 /Log/ce_20200807-1647.log.zip 2267 1 /Log/ce_20200807-1473.log.zip 2268 1 /Log/ce_20200810-1283.log.zip 2269 1 /Log/**ce_20200807-2026.log.zip 2270 796 total
2494 1 /Log/ce_20200810-1195.log.zip 2495 1 /Log/ce_20200807-1567.log.zip 2496 1 /Log/**ce_20200810-775.log.zip 2497 79 total
上面的 linux命令求和 弄成了两次, 之前的实现方式用最后一行作为结果,取到的就是那个79 了 本来应该是875 (796+79才对)
8.14新写的 生成测试日志文件的脚本
通用的:
cd /Log/ivd/VIIDGW/run/
zip_file=$(ls -lrS | grep Service | grep zip | awk 'END{print $9}')
log_file=$(ls | grep "Service.log$")
n=54;j=0
for ((i=1;i<=12000;i++))
do
new=$[n+j]
#echo $new
cp $zip_file $zip_file-$new.log.zip
let j=j+1
done
for ((i=1;i<=10;i++))
do
cp $zip_file $zip_file-$i.log.tmp
done
for ((i=1;i<=100;i++))
do
cp $log_file $log_file-$i.log
done
先造12000个zip文件 以及别的
du -cm 1038 . 1038 total
du -lh 1.1G .
find /Log/*path -name 'key' | xargs du -cm | grep total 671 total 366 total
find /Log/*path -name 'key' | xargs du -cm | grep total | awk '{sum += $1};END {print sum}' 1037
find /Log/path -name 'key' | xargs du -cm | grep total 774 total 768 total 768 total 768 total 768 total 757 total 41 total
find /Log/path -name 'key' | xargs du -cm | grep total | awk '{sum += $1};END {print sum}' 4644
之前的方式,取最后一行(汇总的total) find /Log/path -name 'key*' | xargs du -cm | awk 'END {print $1}'
明显不行
xargs参数数量限制