计数与今天的日期文件
问题描述:
我试图与格式 submission.YYMMDDS.csv ......哪里算文件的出现与今天的日期在目录:计数与今天的日期文件
YY =当前年度,不包括世纪(如17对于2017年)
MM =当前的月份数(如07日)
DD =当前日一个月内(该月的21天数如21)
S =文件的序列号在YYMMDD内,从0开始(例如, 1,如果该文件是)为YYMMDD的这个价值创造的第二个文件
这个工程:
ls *.csv | grep -oc "submission.$(date +%y%m%d)"
但我真的很想纳入“S.csv”在grep的(S是一个通配符序列号)
这不起作用:
ls *.csv | grep -oc "submission.$(date +%y%m%d)" *.csv
有什么建议?
答
如果你的shell是bash,这个目录和日期给出:
$ ls
submission.1709043.csv submission.1709052.csv submission.1709053.csv
$ date
Tue Sep 5 17:26:14 CDT 2017
你应该做的:
$ shopt -s nullglob
$ files=(submission.$(date +%y%m%d)[0-9]*.csv)
$ echo "${#files[@]}"
2
$ shopt -u nullglob
的是了nullglob所以你不要,如果目录中获取计数1是空的。即使对于包含换行符或任何其他空格的文件名也是如此。
+1
太棒了!谢谢!!! –
为什么不只是'grep -oc“提交。$(date +%y%m%d)”* .csv'? – RomanPerekhrest