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