我有一组包含日期的文件。
让我们称呼他们:
a20120528_120001.log
b20120528_120003.log
(name)(year)(month)(day)_(hour)(minute)(second).log
同时移动这两个文件很容易:
mv *20120528_12* file/
但现在我有一种情况,我想在同一天移动几个小时的文件,即:
a20120528_120001.log
b20120528_120003.log
a20120528_130001.log
b20120528_130003.log
a20120528_140001.log
b20120528_140003.log
现在,如果我想转移所有这些,我可以在当天完成:
mv *20120528* file/
但是如果我只想移动 12 和 13 小时,但不包括 14,我该怎么办。
请注意,这需要足够通用,以便我可以输入日期,因为这将扩展到多天使用,其中每天有 24 条日志,每天有几条(3-8 条)将被排除在外.
我该怎么做?
最佳答案
您可以使用范围:
mv *20120528_1[23]* file/
要排除 3-8 中的所有内容,请使用稍微复杂一点的方法:
mv *20120528_{0[0-29],[12]*}*
[0-29]
分解为范围0-2
和9
。{A,B}
扩展为A
或B
。
关于unix - 移动具有日期编码名称的文件集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11713721/