відключити всі rar-файли в каталозі з Linux


3

Я намагаюсь витягнути відразу декілька rar-файлів, але без успіху. Я намагаюся в порядку:

>ls *.rar|xargs unrar x
>ls *.rar|xargs unrar e
>unrar e -r *.rar
>for f in *.rar;do unrar e “$f”;done

ніхто не працює. Rar відповідає кожен раз, кажучи, що не існує файлу для витягування.

>Extracting from damned_file.rar

 No files to extract

Якщо я спробую витягти файл один за одним, то все працює добре

>unrar e damned_file.rar
 extracting damned_file.rar                        
 extracting dmaned_file.txt                            OK
 All OK
>

Моя версія rar є

UNRAR 4.10 freeware      Copyright (c) 1993-2012 Alexander Roshal

Що я роблю неправильно?

PS: Команда

find . -name "*.rar" -exec unrar e {} \;

працює добре, але питання залишається тим самим. Чому попередні команди не вдається?

Відповіді:



1

xargs ставить аргументи за надану йому команду до тих пір, поки максимальна довжина команди для вашої поточної оболонки не буде:

xargs unrar e damned_file.rar another_damned_file.rar yadf.rar

Однак unrarяк аргумент береться лише один файл rar. Команда знахідки ви вказали прогони unrarдля кожного файлу він знаходить, тому команду unrar e damned_file.rar, unrar e another_damned_file.rar.


так чому цикл не буде працювати?
emanuele
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.