用shell查找某目录下的最大文件
这是一个很有趣的问题,因为作为一个shell菜鸟,我第一时间是没有任何想法的。心里纳闷为什么这样的操作Linux居然没有直接的命令实现这样的查询。
很自然地,第一感觉就是用awk去实现,因为菜鸟我看awk看得傻了:
ls -l | awk '/^[^d]/ {print $5,$9}' | sort -nr | head -
明显ls查看完整的文件信息,过滤掉d开头的东东(目录),取出文件大小$5和名字$9两项,排序,取第一个
很自然问题就变的清晰,值得讨论的是怎么实现前面过滤出文件大小和名字这一个过程。后面的sort和head不管用什么方法都一样的。
baidu这个问题,发现某论坛里有大神的回答。主要是针对连子目录都能查询的。因为大神用了find命令:
find -type f -exec stat -c "%s %n" {} \; | sort -nr | head -
缺省路径是当前目录里,执行命令stat,同样是返回大小(以byte为单位的)和名字,blah blah。注意stat不是state就是了,某菜鸟表示每次都敲错。
后来在某本基础教材看到另外一个途径,用了du命令,异常膜拜:
du -s * | sort -nr | head -
比前面awk简单很多。-s参数会返回当前目录里的文件的大小,*会drill down出每个文件的大小,不包括目录的总大小。
不过呢,后面还是仔细学习了一下,发现这个方法是把子目录作为一个文件来看待的。所以最大文件可能是某个子目录,而不是某个文件。好处是,du的可以设置size显示的单位,比较傻瓜的是直接用-h参数,所谓的human-readable的形式。
所以综上所述,还是前面两个命令好了,第一个是只查询根目录最大文件,第二个是递归到每个子目录里找出最大文件。至于du往往会涉及到子目录的总和,所以第三个命令的功能是:查询当前目录下,最大的文件或者目录。
用shell查找某目录下的最大文件的更多相关文章
- 用shell查找某目录下的最大文件(转)
这是一个很有趣的问题,因为作为一个shell菜鸟,我第一时间是没有任何想法的.心里纳闷为什么这样的操作Linux居然没有直接的命令实现这样的查询. 很自然地,第一感觉就是用awk去实现,因为菜鸟我看a ...
- 用shell查找某个目录下最大文件
网上资料学习: 1.查找当前目录下最大文件(包括子目录里文件): find . -type f -exec stat -c "%s %n" {} \; | sort -nr | h ...
- shell 删除某个目录下的重复文件
#!/bin/bash ls -lS | awk 'BEGIN{ getline; getline; name1=$;size=$; } { name2=$; sizeTmp=$; ){ ; ; if ...
- shell 搜索指定目录下所有 jar 文件生成csv文件
虽说比较简单,但希望分享给大家.按需求改成想找的:例如txt,xls 等. 脚本名 扫描的路径 文件名 testFind.sh / testFind.txt (如果未配置环境变量 ./testFi ...
- shell 读取某个目录下的所有文件
#!/bin/shFILE_PATH="xxx" xxx:路径cd $FILE_PATHfor FILE in `ls` do echo $FILE done
- [转载] linux查找目录下的所有文件中是否含有某个字符串
链接自 http://blog.sina.com.cn/s/blog_691a84f301015khx.html,并略加修订. 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- linux查找目录下的所有文件中是否含有某个字符串
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" find .|xargs grep -ri "IBM" -l ...
- 查找目录下的所有文件中是否含有某个字符串 linux
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xar ...
- linux查找目录下的所有文件中是否含有某个字符串 (转)
查找目录下的所有文件中是否含有某个字符串 find .|xargs grep -ri "IBM" 查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名 find .|xar ...
随机推荐
- QMDP-Net: Deep Learning for Planning under Partial Observability
一篇用deep neural network做POMDP的论文
- 【转】【Centos】安装 lnmpa 集成开发环境
解压完毕之后执行 ./install.sh lnmpa 系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要3GB以上硬盘剩余空间 12 ...
- Linux命令_用户身份切换
命令 su 格式为:su [ - ] username,后面可以跟 - ,也可以不跟. 普通用户的su命令不加username时,就相当于切换到root用户,反之亦然.当su 命令加上 - 后,会初始 ...
- Sql Server性能优化辅助指标 - SET STATISTICS TIME ON和SET STATISTICS IO ON
1.前言 对于优化SQL语句或存储过程,以前主要是用如下语句来判断具体执行时间,但是SQL环境是复杂多变的,下面语句并不能精准判断性能是否提高:如果需要精确知道CPU.IO等信息,就无能为力了. ), ...
- (转)PCM数据格式
1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 4410 ...
- eclipse调用jni
http://blog.chinaunix.net/uid-27003388-id-3235189.html 1. 在Eclipse里创建一个Java project(jni_test): ...
- vegan 包进行 Bioenv 分析
Bioenv 分析通过 计算样本群落结构的距离矩阵和 环境因子的距离矩阵,计算两个距离之间的相关系数,挑选出最佳的环境因子组合: 默认情况下,计算 群落结构的距离矩阵时, 使用 Bray-Curtis ...
- Linux学习笔记(一):文件操作命令
命令 含义 cd / 切换到根目录 cd .. 上级目录 cd ./bin 到同级的bin目录中 cd bin 到同级的bin目录中 cd - usr文件夹 cd ~ 回到root用户的主文件夹 pw ...
- MyEclipse远程调试Tomcat
程序就是这么一个神奇的东西,有时你的一个项目,在本机上运行得还是好好的,可当你把这货放到了服务器上,同样的条件就是结果不一样.于是就灰常想看一下程序在远程运行时候的状态,希望让程序在远程运行,还可以在 ...
- php的MCRYPT_RIJNDAEL_256 和mcrypt_encrypt 用法
<?php $key = "miyao";//密钥 $string="jiami";//需要加密的字符 $d = new d(); //加密 $crypt ...