Получение 7zip для принятия аргументов - PullRequest
0 голосов
/ 13 ноября 2010

Я передаю список файлов в 7zip, похоже, это не нравится, несмотря на то, что он нормально работает для чего-то вроде cat.

find . -type f | grep -E '\.rar' | 7z -o/unrar/ #fails
Error: 
Incorrect command line

find . -type f | grep -E '\.rar' | cat
//fullpath/file1.rar
//fullpath/file2.rar
//fullpath/file3.rar

Я взял первое возвращение, как вы видите, от cat и передал его обычно 7zip, как я и ожидал, что pipe делает. Это работало нормально

7z -o/unrar //fullpath/file1.rar

Может быть, я должен сдаться и просто использовать смолу? Мне больше нравится API для 7zip.

1 Ответ

1 голос
/ 13 ноября 2010

Вы ожидаете, что 7z будет читать имена файлов для обработки из стандартного ввода, а не из командной строки? Вы уверены, что не имеете в виду

7z -o/unrar $(find . -type f | grep -E '\.rar' )

или что-то вроде

find . -type f -a -name \*.rar -exec 7z -o/unrar \\{\\} \;

, который найдет все файлы (типа f), которые также соответствуют * .rar, и вызовет 7z для каждого имени файла.

...