linux 遍历相同文件名,并计算所有文件大小之和

1.在分表的数据库中,可能会出现不同目录下,有相同的文件名,而我们又想计算

相同数据文件的大小有什么办法,以下有1024的相同文件名,计算其大小的方法。

2.思路

1)先查出来所有的文件

2)查出来文件大小

3)截取文件大小列

4)求和

[[email protected]]# find /data/mysqldata -name t_traffic#P#p201612.ibd |xargs ls -l |gawk ‘{print $5}‘ |wc -l
1024
[[email protected]]# find /data/mysqldata -name t_traffic#P#p201612.ibd |xargs ls -l |gawk ‘{print $5}‘ |gawk ‘BEGIN {SUM=0} {SUM+=$1} END {print SUM}‘
2124496896
[[email protected]]# find /data/mysqldata -name t_traffic#P#p201612.ibd |xargs ls -l |gawk ‘{print $5}‘ |gawk ‘BEGIN {SUM=0} {SUM+=$1} END {print SUM/1024}‘
2074704
[[email protected]]# find /data/mysqldata -name t_traffic#P#p201612.ibd |xargs ls -l |gawk ‘{print $5}‘ |gawk ‘BEGIN {SUM=0} {SUM+=$1} END {print SUM/1024/1024}‘
2026.08
[[email protected]]#

3.如果大家有更好的方法,请留言,一起学习~

时间: 2024-11-05 22:03:15

linux 遍历相同文件名,并计算所有文件大小之和的相关文章

shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小

转自:http://blog.chinaunix.net/uid-26000296-id-3575475.html 1 function ergodic(){ 2 for file in `ls $1` 3 do 4 if [ -d $1"/"$file ] 5 then 6 ergodic $1"/"$file 7 else 8 local path=$1"/"$file 9 local name=$file 10 local size=`du

常见设备与其在linux当中的文件名

在linux系统中,每个设备都被当成一个文件来对待.下面我就列出几个常见的设备与其在linux当中的文件名: ide硬盘         /dev/hd[a-d] scsi/sata/usb硬盘         /dev/sd[a-p] u盘         /dev/sd[a-p](与sata相同) 软驱         /dev/fd[0-1] 打印机         25针:/dev/lp[0-2]     usb:/dev/usb/lp[0-15] 鼠标         usb:/dev

硬件设备在Linux中的文件名

“一切皆文件”是Unix/Linux系统中一个非常重要的思想. 在Linux系统中,具体到硬件来说就是每个设备都被当成一个文件来对待.下面列出几个常见的设备在Linux系统中的文件名. 设备 文件名 IDE硬盘 /dev/hd[a-d] SCSI/SATA/USB 硬盘 /dev/sd[a-p] U盘 /dev/sd[a-p](与SATA相同) 鼠标 USB:/dev/usb/mouse[0-15] PS2:/dev/psaux 当前鼠标 /dev/mouse 当前 CD ROM/DVD ROM

Linux里的文件名通配-* ? [] [^] {}

写这篇文章的目的是为了说明Linux系统里文件名匹配时要用的特殊字符 特别注意:要与正则表达式区分开来. 正则表达式见我另外一篇文章: http://afterdawn.blog.51cto.com/7503144/1855128 匹配模式:元字符 *:匹配任意长度的任意字符 pa*, *pa*, *pa, *p*a* pa, paa, passwd ?:匹配任意单个字符 pa?, ??pa, p?a, p?a? pa, paa, passwd []:匹配指定范围内的任意单个字符 有几种特殊格式

shell获取目录下(包括子目录)所有文件名、路径、文件大小

一例shell脚本:取得目录下(包括子目录)所有文件名.路径与文件大小. 代码,shell脚本: lsdir.sh #!/bin/bash # #site: www.jquerycn.cn function ergodic(){ for file in `ls $1` do if [ -d $1"/"$file ] then ergodic $1"/"$file else local path=$1"/"$file local name=$fil

linux下中文文件名乱码解决

在windows上使用ftp上传文件到Linux上,中文名称在Linux系统中显示为乱码.虽然将Linux的env设置了LANG=en_US.UTF-8,并且本地的Shell客户端编码也设置成UTF-8,但在Shell中(或通过http访问),仍是乱码…… 原因在于,Windows 的文件名中文编码默认为GBK,压缩或者上传后,文件名还会是GBK编码,而Linux中默认文件名编码为UTF8,由于编码不一致所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码. yum install co

03:计算矩阵边缘元素之和

03:计算矩阵边缘元素之和 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个整数矩阵,计算位于矩阵边缘的元素之和.所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素. 输入 第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开.接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开. 输出 输出对应矩阵的边缘元素和 样例输入 3 3 3 4 1 3 7 1 2 0 1 样例输出

计算矩阵边缘元素之和

#include<stdio.h> //计算矩阵边缘元素之和 int main() { int i,j; int sum=0; int a[5][5]; //下面2个for循环依次为数组a[5][5]赋值 for(i=0;i<5;i++) { for(j=0;j<5;j++) { scanf("%d",&a[i][j]); } } //此for循环求出最左边和最右边的元素之和 /* a[0][0],a[0][4], a[1][0],a[1][4], ..

POJ C程序设计进阶 编程题#1:计算矩阵边缘之和

编程题#1:计算矩阵边缘元素之和 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 输入一个整数矩阵,计算位于矩阵边缘的元素之和.所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素. 输入 第一行为整数k,表示有k组数据. 每组数据有多行组成,表示一个矩阵: 第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以空格分隔. 接下