Как скопировать все файлы, которые не начинаются с цифр, в другой каталог — Bash

#bash #shell

#bash #оболочка

Вопрос:

Мне нужно знать, как скопировать все файлы, которые не начинаются с чисел и имеют расширение ‘.xls’, в другой каталог.

Я делаю это вот так:

 cp -r ~/*.xls ~/excel | grep -l '[^0-9]*.xls'
  

Ответ №1:

Шаблоны глобулирования поддерживают отрицание в наборах символов, поэтому попробуйте:

 cp -r ~/[!0-9]*.xls ~/excel
  

Обратите внимание, что Bash также поддерживает символ отрицания ^ вместо ! , но последний является более переносимым ( ! это символ отрицания, установленный POSIX).