我正在尝试开发一个 bash 脚本,它在前一天过滤 csv 文件(每小时生成一次)并将它们合并到一个 CSV 文件中。这个脚本似乎为我完成了这项工作,只是我试图根据文件名过滤文件。
目录中每天会有 24 个文件,我需要根据它们的名称格式过滤掉这些文件:
foofoo_2017052101502.csv
foofoo_2017052104502.csv
foofoo_2017052104503.csv
foofoo_2017052204501.csv
foofoo_2017052204504.csv
在这里,我需要过滤掉 2017 年 5 月 21 日。所以我的输出 CSV 文件必须包含前三个.csv
文件。
我应该在这个过滤器的脚本中添加什么?
以下脚本将计算前一天 yyyymmdd 并在 grep 中使用该值自动过滤掉前一天生成的所有文件名。
对于 MacOS
dt=`date -j -v-1d +%Y%m%d`
echo $dt
OutputFiles=`ls | grep foofoo_${dt}`
对于 Linux
dt=`date -d "yesterday" +%Y%m%d`
echo $dt
OutputFiles=`ls | grep foofoo_${dt}`
这些命令添加到上述脚本时将根据当前时间戳过滤前一天的文件名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句