Как я могу найти просто *.mp3 файлы с рекурсивной командой как ls -R *.mp3
в каталоге, который содержит несколько подкаталогов и в конце, копируют эти файлы в каталоге, который я выбираю.
Спасибо за Вашу поддержку.
Команда:
find /path/to/directory -name "*.mp3" -exec cp {} /some/other/dir/ \;
Альтернатива:
find /path/to/dir/ -name '*.mp3' | xargs cp -t /target/
Пример:
alex@MaD-pc:~/test$ ls
1 2 3
alex@MaD-pc:~/test$ ls 1 2 3
1:
1.txt 2.mp3 3.txt
2:
4.txt 5.mp3 6.txt
3:
alex@MaD-pc:~/test$ find . -name "*.mp3" -exec cp {} 3/ \;
alex@MaD-pc:~/test$ ls 3
2.mp3 5.mp3
Для получения дополнительной информации:
man find
Существует также другой способ сделать это, который я думаю, удовлетворит Вашей цели отлично. Вы можете объединить find
с while
цикл и даже не должны использовать или exec
или xargs
вообще. Если бы, например, Вы хотели скопировать Ваш mp3s
от Вашей папки загрузки до Вашей музыкальной папки, то Вы использовали бы следующий сценарий, который я много раз использовал.
можно изменить его, как Вы хотите путем изменения каталогов, в которые find
поиски и помещают получающиеся файлы; если никакой каталог не будет указан, [то 117] будет искать всю домашнюю папку. Можно также измениться cp
на mv
или другие команды. Это довольно быстро, поскольку я только что протестировал его с 3 945 .jpg
файлы! Скопируйте его в текстовый редактор, сохраните его и затем сделайте его исполняемым файлом путем выполнения chmod +x myscript
.
#!/bin/bash
# a script to recursively find and copy files to a desired location
find ~/Downloads -type f -iname '*.mp3' -print0 |
while IFS= read -r -d '' f;
do cp -- "$f" ~/Music ;
done
В этом отмеченном Bash wiki показано, как полезный это должно объединиться while
цикл и read
команды для обработки вывода эти find
команда; и способ, которым я сделал это, удостоверяется, что сценарий не повредится, если это столкнется с именами файлов с пробелами или другими непредвиденными или специальными символами.
Для более общей информации об эти find
команда, войдите в терминал man find
или посмотрите страницы справочника Ubuntu онлайн . Для большого введения в использование находки см. эта статья также.