Linux 命令/脚本用于查找目录中所有 4 位数字

Linux 命令/脚本用于查找目录中所有 4 位数字

我有一个文件夹,其中包含几个其他文件夹,每个文件夹都以以下格式命名:

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

相关内容