Extracting Files with Specific Extensions from Multiple Folders in Linux

Answered using ChatGPT 4o by ChatGPT4o

Question:

как извлечь из множества папок все файлы определённого расширения linux

Answer:

Для извлечения всех файлов определённого расширения из множества папок в Linux можно использовать команду find. Вот пример команды, которая ищет все файлы с определённым расширением (например, .txt) в текущей директории и всех её поддиректориях:

find . -type f -name "*.txt"

Здесь:

  • . указывает на текущую директорию. Вы можете заменить её на другой путь, если хотите искать в другой директории.
  • -type f указывает, что мы ищем файлы.
  • -name "*.txt" указывает, что мы ищем файлы с расширением .txt.

Если вы хотите скопировать все найденные файлы в другую директорию, можно использовать команду cp в сочетании с xargs:

find . -type f -name "*.txt" -print0 | xargs -0 cp -t /path/to/destination/

Здесь:

  • -print0 и -0 используются для обработки имён файлов с пробелами.
  • /path/to/destination/ замените на путь к директории, куда вы хотите скопировать файлы.

Если вы хотите переместить файлы вместо копирования, замените cp на mv:

find . -type f -name "*.txt" -print0 | xargs -0 mv -t /path/to/destination/

Эти команды помогут вам эффективно управлять файлами с определённым расширением в