对于linux终端用户而言,统计文件夹下文件的多少是经常要做的操作,于我而言,我会经常在谷歌搜索一个命令,“如何在linux统计文件夹的个数”,然后点击自己想要的答案,但是有时候不知道统计文件夹命令运行的机理,今天花了两个小时看了一下鸟哥的linux私房菜,看到了管道命令,以及正则化,所以也不难理解如何统计linux下文件夹下文件的个数

以下知识点包括管道命令,正则表达式

1.统计文件夹下文件的个数

可以试着在终端运行ls -l,可以达到如下结果

可以看出,运行ls -l命令之后,终端输出的结果是一行一行的字符,每一行字符对应一个目录或者是文件

管道命令的形式是“命令1 | 命令2”,其中命令2是管道命令

管道命令要操作的对象就是这样的一行一行的字符串,实际上就是一行一行的文本信息

管道命令可以是查找字符串的grep命令,也可以sort这样的排序命令,也可以是wc这样的统计命令,anyway,无论是查找还是排序,抑或是统计,他们操作的对象是一个命令输出的一行一行字符串

所以,如果运行ls -l会输出当前目录下的文件以及目录的信息。那么只要在当前目录下的输出结果中,统计出是文件的行的数目,就可以统计出当前目录下的文件个数

所以要找出命令ls -l输出的文件的信息与目录的信息的不同之处

不难看出,如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是"d",意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令

ls -l | grep "^-"

其中“^-”是一个正则化项,表示字符串的第一个字符,

运行结果

那么接下来只要对管道命令运行的结果统计行号即可

即运行两次管道命令,即ls -l | grep “^-” | wc -l

结果如下

2.统计文件夹下目录的个数

同样的,利用第一个字符的区别,只需要将命令ls -l | grep “^-” | wc -l修改成ls -l | grep “^d” | wc -l

即可,如下

3.统计文件夹下文件个数,包括子文件

ls -lR | grep "^-"| wc -l

4.统计文件夹下目录个数,包括子目录

ls -lR | grep "^d"| wc -l

管道命令与正则化有很大的用处,这里先给自己挖个坑,后期继续补充

Linux上统计文件夹下文件个数以及目录个数的更多相关文章

  1. Linux统计某文件夹下文件、文件夹的个数

    统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...

  2. Linux统计某文件夹下文件的个数

    ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件的个数,包括子文件夹里的 ...

  3. Linux 统计文件夹下文件个数及目录个数

    1. 统计文件夹下文件的个数 ls -l | grep "^-" | wc -l 2.统计文件夹下目录的个数 ls -l | grep "^d" | wc -l ...

  4. Linux随笔 - Linux统计某文件夹下文件、文件夹的个数

    统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...

  5. linux 统计文件夹下文件,文件夹,所有个数

    统计某文件夹下文件的个数 ls -l |grep "^-"|wc -l 统计某文件夹下目录的个数 ls -l |grep "^d"|wc -l 统计文件夹下文件 ...

  6. Linux 系统计算文件夹下文件数量数目

    查看某目录下文件的个数(未包括子目录) ls -l |grep "^-"|wc -l 或 find ./company -type f | wc -l 查看某目录下文件的个数,包括 ...

  7. Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本

    Shell 命令行,写一个自动整理 ~/Downloads/ 文件夹下文件的脚本 在 mac 或者 linux 系统中,我们的浏览器或者其他下载软件下载的文件全部都下载再 ~/Downloads/ 文 ...

  8. Projects\Portal_Content\Indexer\CiFiles文件夹下文件占用磁盘空间过大问题。

    C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\9765757d-15ee-432c-94 ...

  9. Android Studio的使用(十)--读取assets、Raw文件夹下文件,以及menu、drawable文件夹

    1.直接在/src/main目录下面新建assets目录 2.接下来即可读取文件 3.读取Raw文件夹下文件也类似.首先在res文件夹下新建raw目录,然后放入需要的文件即可读取. 4.menu和dr ...

随机推荐

  1. jquery attr方法获取input的checked属性问题

    1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase <input type="checkbox" id= ...

  2. CAD绘制室外台阶步骤5.4

    1.在CAD的平面上用PL命令绘制台阶,如图: 绘制好了之后.进入三维模型,“工具""移位”选择台阶,回车,"Z"回车,输入数值“-450”如图 2.输入命令“ ...

  3. java ArrayList 迭代器快速失败源码分析

    先来看一个例子: @Test void test2() { ArrayList<String> list = new ArrayList<String>(); list.add ...

  4. js 日期格式化函数(可自定义)

    js 日期格式化函数 DateFormat var DateFormat = function (datetime, formatStr) { var dat = datetime; var str ...

  5. 登录验证码实现(Captcha)

    登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等. 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点击可刷新,左边输入验 ...

  6. 微信授权(Net Mvc)

    项目结构 WeiXinController.cs using System; using System.Collections.Generic; using System.Linq; using Sy ...

  7. nginx:在linux上进行nginx的安装

    -----1.安装 换源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载: wget ...

  8. selenium(六)Headless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。

    简介: 以前都用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面. 但是最近selenium更新以后,'Selenium support for PhantomJS has bee ...

  9. 7 Serial Configuration 理解 (一)

    reference :  ug470- 7 series config.pdf 7系列器件有5种配置接口,每种配置接口对应一种或者多种配置模式和总线位宽.配置时序相对于引脚的CCLK,即使在内部产生C ...

  10. DevExpress v18.1新版亮点——DevExtreme篇(二)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExtreme JavaScript Controls v18.1 的新功能 ...