我正在用管道将文件列表发送到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。
您希望7z从标准输入读取要处理的文件名,而不是从命令行读取?你确定你不是说
7z -o/unrar $(find . -type f | grep -E '\.rar' )
或者类似的
find . -type f -a -name \*.rar -exec 7z -o/unrar \\{\\} \;
它将找到所有与*.rar匹配的文件(f类型),并对每个文件名调用7z。