Найти все файлы, соответствующие описанию и создать жесткую ссылку в каталоге

837
curios

Я хотел бы найти все .mkvфайлы в моем каталоге загрузки и создать жесткую ссылку на них в моем /movies/каталоге.

Вот что у меня так далеко:

for i in `find /download/ -name *.mkv`; do ln "$i" /movies/; done 

Который почти работает: я получаю кучу жестких ссылок на частичные имена файлов. То есть вместо жесткой ссылки, чтобы сказать, The Best Movie Ever.mkvя получаю четыре жестких ссылки, один к Theодному к Bestодному Movieи один кEver.mkv

Какие-либо предложения?

2
Посмотри на этот ответ. Речь идет о переименовании файлов с ошибочными именами, но основная логика `find` должна работать на вас. http://superuser.com/a/847795/167207 JakeGould 9 лет назад 0

1 ответ на вопрос

2
jherran

Try this way:

find /download/ -name *.mkv -exec ln {} /movies/ \; 
Милая. Оно работает. Я был так близко в какой-то момент, у меня был этот ответ за исключением последнего "\" Спасибо curios 9 лет назад 0
Страница руководства говорит, что вы должны убежать от ';' так что Баш не интерпретирует это curios 9 лет назад 0

Похожие вопросы