首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本,用于在10秒内计算目录中传入文件的编号。

shell脚本,用于在10秒内计算目录中传入文件的编号。
EN

Stack Overflow用户
提问于 2013-09-16 04:26:23
回答 2查看 394关注 0票数 1

我已经编写了一个SHELL脚本,它将计算目录中这些文件的数量(例如分钟)。

代码语言:javascript
复制
#!/bin/bash
LOCATION="D:/Dir1/*"
FILECOUNT=0
while true
do
  for item in $LOCATION
  do
    if [ -f $item ]
    then
       FILECOUNT=$[$FILECOUNT+1]
    fi
  done
  echo "No of files are $FILECOUNT"
  FILECOUNT=0
  sleep 30s
done

要求在几秒钟内自动删除这些文件。所以我们只需要计算文件中不同的“不”。此外,我们也不确定这些文件在目录中还保留了多少秒。

请提供在上述代码中我应该做哪些更改。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-16 05:18:25

如果您正在使用Bash无论如何,使用它的内置设施。

代码语言:javascript
复制
#!/bin/bash

files=( D:/Dir1/* )
echo Count: "${#files[@]}"

参见例如ASG关于Bash中阵列的章节

如果要查看在两个迭代之间添加或删除了哪些文件,请使用两个数组和比较它们

类似地,如果要排除目录,可以使用阵列相交使用D:/Dir1/*/.

最终,两个临时文件之间的简单diff可能更接近您实际需要的内容。参见例如监视目录中的更改

票数 3
EN

Stack Overflow用户

发布于 2013-09-16 05:03:46

你为什么就不能这么做

代码语言:javascript
复制
FILECOUNT=`find -type f $LOCATION | wc -l`
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18820409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档