我有一个文件夹,其中包含几个其他文件夹,每个文件夹都以以下格式命名:
Company XYZ (1999 OneWordDescription)
我正在尝试过滤掉标记为 1995 年或更早的文件,这样我就可以将它们移动到另一个文件夹,然后手动删除它们。修改/创建日期不会有帮助,因为这些文件都已经修改过了,而且出于某种原因,创建日期并不准确。
我可以运行什么 Linux 命令或脚本来将所有内容(1995)及更早的内容移动到不同的目录?
答案1
要移动 1980 年至 1995 年(含)的所有文件夹,请运行:
shopt -s nullglob
mv *'('{1980..1995}*/ /some/path/
该shopt -s nullglob
命令并非绝对必要,但如果缺少任何年份,它可以消除错误消息。
以上代码使用括号扩展{1980..1995}
来明确生成所有年份。您可以仅使用一条echo
语句来了解括号扩展的工作原理:
$ echo {1980..1995}
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995