确实需要具体说明
猜着写了一个- 7za l -slt "a a.7z" | awk '/^Path =/{a=substr($0,8)}/^Attributes = A/{split(a,b,"\\");c=length(b);if(d<c)d=c;e[c]=e[c]a"\n"}END{printf e[d]}' | xargs -i 7za e "a a.7z" "{}"
复制代码 大概是说,找出目录层数最多的文件,解压出来
没有考虑层数最多的有多个文件夹里面的文件名是否冲突
也不知道windows、linux里分隔符是否不同
也不知道7za l -slt输出的信息里,是Folder = -还是Attributes = A表示文件
很不严谨,仅供参考 |