我有几个遵循以下语法的文件:
- _yyyy-mm-dd_hhhmmm。
例子:
- _2010-01-01_00h10m。
- _2010-01-01_01h10m。
- _2010-01-01_02h10m。
- _2010-01-01_03h10m。
- ...
- _2010-01-01_23h10m。
- _2010-02-01_00h10m。
- _2010-02-01_01h10m。
- _2010-02-01_02h10m。
- ...
- _2010-02-01_23h10m。
- ...
- _2010-12-01_23h10m。
我只想保留这些文件
- _2010-01-01_00h10m。
- _2010-02-01_00h10m。
- _2010-03-01_00h10m。
- ...
- _2010-12-01_00h10m。
并删除其他内容。或者为了安全起见,将它们移动到子目录中......
有人有应对这一挑战的智能在线系统吗?
谢谢,Udo
答案1
在bash中:
shopt -s extglob
rm !(*_2010-??-01_00h10m.*)
答案2
非常幼稚的方式
mkdir keep_these
mkdir remove_these
mv *_00h10m* keep_these
mv *.* remove_these
或一句话
ls * | grep -v "_00h10m" | while read a; do mv $a /tmp; done