Shell Unix计数需要多个文件夹

Shell Unix计数需要多个文件夹,shell,unix,command-line,Shell,Unix,Command Line,我在unix服务器上有一个目录 cd /home/client/files 它有多个客户端文件夹,如下所示 cd /home/client/files/ibm cd /home/client/files/aol cd /home/client/files/citi 它们都会向我们发送一个以小写或大写开头的文件,如下所示: pre-ibm-03222017 PRE-aol-170322 收到文件后,我们将对其进行处理,并将pre转换为pro,如下所示: pro-ibm-03222017 PR

我在unix服务器上有一个目录

cd /home/client/files
它有多个客户端文件夹,如下所示

cd /home/client/files/ibm
cd /home/client/files/aol
cd /home/client/files/citi
它们都会向我们发送一个以小写或大写开头的文件,如下所示:

pre-ibm-03222017
PRE-aol-170322
收到文件后,我们将对其进行处理,并将pre转换为pro,如下所示:

pro-ibm-03222017
PRO-aol-170322
cd /home/client/files/ibm
pre-ibm-03222017
pro-ibm-03222017

cd /home/client/files/aol
PRE-aol-170322
PRO-aol-170322
我想数一数每天处理的文件。以下是我想要的:

如果我能得到每个客户的总数,那就太好了。如果没有,则总数为总计数

请记住,它包含以下所有文件:

pro-ibm-03222017
PRO-aol-170322
cd /home/client/files/ibm
pre-ibm-03222017
pro-ibm-03222017

cd /home/client/files/aol
PRE-aol-170322
PRO-aol-170322
我只想计算PRO/PRO的大小写。一个文件夹每天可以获取多个文件

我正在使用以下命令:

 find /home/client/files -type f -mtime -1 -exec ls -1 {} \;| wc -l
但它给了我pre和pro文件的总数,也给了我过去24小时的文件数……而不仅仅是今天

比如说。现在是晚上9点。上述命令还包括昨天晚上09:00到凌晨12:00之间收到的文件。我不想要那些。换句话说,如果我在凌晨1:00运行它……它应该只有1小时的所有文件,而不是24小时

谢谢

----更新-----

这对我很有用

touch -t 201703230000 first
touch -t 201703232359 last
find /home/client/files/ -newer first ! -newer last | grep -i pro | wc -l
现在,我只是想知道是否可以将上述参数作为参数传递

例如,我不想使用touch-t date和alias…..我只想键入快捷方式和日期来获得输出。我使用了以下别名:

alias reset='touch -t `date +%m%d0000` /tmp/$$'
alias count='find /home/client/files/ -type f -newer /tmp/$$ -exec ls -1 {} \; | grep -i pro | wc -l'
这样,只要我登录到服务器,我就输入reset,然后输入count,然后得到我的每日号码

我想知道,通过将date1和date2设置为别名,是否可以在任何天数内执行类似的操作。如果没有,那么可能需要一个简短的脚本来询问参数。

这个呢

touch -t `date +%m%d0000` /tmp/$$
find /home/client/files -type f -newer /tmp/$$ -exec ls -1 {} \; | grep -i pro | wc -l
rm /tmp/$$
查找今天创建的文件的其他选项可在此问题中找到:

实际上,更好的方法是使用以下方法:

find /home/client/files -type f -m 0 | grep -i pro | wc -l

您可以将-m0替换为-m5以查找5天以前的文件。

对于您可以使用的当天问题-daystart(GNU find)

正则表达式定义了一个包含/pre的

find /home/client/files -regex '.*\/[pP][rR][eE].*' -type f -daystart -mtime -1 -exec ls -1 {} \;| wc -l

这很有效。我可以在其中添加一些内容来查找昨天或5天前的计数吗?是的,只需使用
find-mtime 5
查找5天前的文件即可。