2

У меня есть папка, содержащая несколько других папок, каждая из которых названа в этом формате:

Company XYZ (1999 OneWordDescription)

Я пытаюсь отфильтровать те, которые отмечены как 1995 или старше, чтобы я мог переместить их в другую папку, а затем вручную удалить их. Дата изменения / создания не поможет, так как все они были изменены с тех пор, и созданные даты просто не точны по некоторым причинам.

Какую команду или скрипт Linux я могу запустить, чтобы переместить все с «(1995» и старше) в другой каталог?

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .