bash – 如何获取文件夹中的文件数量作为变量?
发布时间:2020-12-15 18:47:47 所属栏目:安全 来源:网络整理
导读:使用bash,如何获取一个文件夹中的文件数量,不包括解释器抱怨的 shell脚本中的目录? 在朋友的帮助下,我已经尝试过了 $files=$(find ../ -maxdepth 1 -type f | sort -n)$num=$("ls -l" | "grep ^-" | "wc -l") 它从命令行返回: ../1-prefix_blended_fused.j
使用bash,如何获取一个文件夹中的文件数量,不包括解释器抱怨的
shell脚本中的目录?
在朋友的帮助下,我已经尝试过了 $files=$(find ../ -maxdepth 1 -type f | sort -n) $num=$("ls -l" | "grep ^-" | "wc -l") 它从命令行返回: ../1-prefix_blended_fused.jpg: No such file or directory ls -l : command not found grep ^-: command not found wc -l: command not found 分别.这些命令在命令行上工作,但不使用bash脚本. 给定一个填充有格式如1-pano.jpg的图像文件的文件,我想抓住目录中的所有图像,以获得最大的编号文件,以贴到正在处理的下一个图像上. 为什么差异?
引号引起错误消息.
要获取目录中的文件数: shopt -s nullglob numfiles=(*) numfiles=${#numfiles[@]} 它创建一个数组,然后将其替换为其元素的计数.这将包括文件和目录,但不包括dotfiles或.或..或其他虚线目录. 使用nullglob,所以空目录的计数为0而不是1. 您可以使用find -type f,也可以对目录进行计数并减去: # continuing from above numdirs=(*/) numdirs=${#numdirs[@]} (( numfiles -= numdirs )) 另请参阅“How can I find the latest (newest,earliest,oldest) file in a directory?” 您可以在执行块中拥有尽可能多的空格.他们经常帮助阅读.唯一的缺点是它们使文件更大一点,可能会缓慢初始解析(仅)稍微.有几个地方必须有空格(例如围绕[,[[,],]]和=在比较中)和一些不能(例如在作业中的=大约=). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- shell 学习第二十四天----提取开头或结尾数行
- 单元测试 – 单位测试$sce.trustAsHtml的输出
- AT91Bootstrap1.16源码中连接脚本文件(elf32-littlearm.ld
- scala – 将dataframe中的字符串数据转换为double
- JS组件中bootstrap multiselect两大组件较量
- 什么是Scala 2.8中的嵌套/不需要的包?
- angular – 如何将内容投影到mat-table列
- AngularJS UI日历不更新日历上的事件
- angularjs – 没有显示Angular Material Dialog弹出窗口
- Scala可以约束对象图,以便只显示与上下文相关的那些对象吗?