Я пытаюсь рекурсивно перебрать каталог, который содержит множество других каталогов и файлов, а затем найти все файлы .rb и скопировать их в другой каталог.
Это то, что у меня есть, но оно работает не совсем правильно, так как копирует все данные в текущем каталоге в указанный каталог и не только печатает файлы .rb (ruby) в каталог из каталога, который рекурсивно повторяется.
Это команда BASH, которую я использую: ls -R metasploit-framework-master | grep .rb | cp * gems
В этой команде metasploit-framework-master
- это каталог верхнего уровня, который рекурсивно перебирает команду ls -R
. Также gems
- это каталог для размещения всех файлов .rb ruby.
Первая часть ls -R metasploit-framework-master | grep .rb
, кажется, находит все исходные файлы сценария ruby, но последняя часть grep .rb | cp * gems
Похоже, что cp * gems не передается при выводе команды grep команде copy.
Могут ли какие-нибудь эксперты BASH помочь мне? `