我最近在电脑上安装了 7zip,以提取下载文件夹中的一些 .7z 文件。但是,当我输入:
7z e 'File location here'
最终结果:
答案1
获取解压的文件列表,然后编写删除工作的脚本。
列出档案中的文件
7z l archive_file.ext
# l is for 'List'
此命令的输出如下所示:
我们想要包含路径的文件列表
user@host:~$ 7z l '$User/RC_Adapter_Arduino.zip'
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz (20655),ASM,AES-NI)
Scanning the drive for archives:
1 file, 8693524 bytes (8490 KiB)
Listing archive: /home/MyUser/RC_Adapter_Arduino.zip
--
Path = /home/MyUser/RC_Adapter_Arduino.zip
Type = zip
Physical Size = 8693524
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2019-09-06 08:58:18 D.... 0 0 Drivers - Arduino
2019-09-06 09:06:16 D.... 0 0 Drivers - Arduino/drivers
2019-09-06 09:07:30 ..... 9368 6268 Drivers - Arduino/drivers/AdafruitCircuitPlayground.cat
2019-09-06 09:07:30 ..... 3719 1162 Drivers - Arduino/drivers/AdafruitCircuitPlayground.inf
2019-09-06 09:06:46 D.... 0 0 Drivers - Arduino/drivers/CP210x_6.7
2019-09-06 09:06:24 D.... 0 0 Drivers - Arduino/drivers/CP210x_6.7.4
通过删除前 53 个字符来获取最后一列,如果需要,可以将其调整为适合你的输出,
这也可以通过 awk 和处理空格来实现
7z l myarchive.file | sed 's/\(.\{53\}\)//'
可选移除头尾线
7z l myarchive.file tail -n +17 | head -n -2 | sed 's/\(.\{53\}\)//'
将文件列表保存到文本文件
您将能够编写脚本来删除不需要的文件
如果需要,请根据输出调整 17 个标题和 2 个尾随值
7z l myarchive.file tail -n +17 | head -n -2 | sed 's/\(.\{53\}\)//' > $USER/theMess.txt