让7zip接受管道参数

时间:2010-11-13 19:39:33

标签: pipe 7zip

我正在将一个文件列表发送到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

我从猫那里看到了第一个回归并将它正常传递给7zip,正如我所期待的那样。这很好用

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

也许我应该放弃并只使用焦油?我更喜欢7zip的API。

1 个答案:

答案 0 :(得分:1)

你期望7z读取文件名来处理标准输入,而不是命令行?你确定你的意思不是

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

或类似

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

将找到所有与* .rar匹配的文件(类型f)并在每个文件名上调用7z。