我有一个包含 .zip 文件路径的列表,由以下命令收集。我想将它们解压缩到它们存在的那个目录中。
find . -name "*.zip" -print > outfile.txt
Run Code Online (Sandbox Code Playgroud)
outfile.txt 是这样的:
./TWO/two.zip
./ONE/one.zip
Run Code Online (Sandbox Code Playgroud)
我有run_all脚本来自动化它,但我如何定义输出目录?
run_all outfile.txt 'unzip -u $1'
Run Code Online (Sandbox Code Playgroud)
Muk*_*mar 10
使用-d旗帜。
unzip -d output_dir/ zipfiles.zip
Run Code Online (Sandbox Code Playgroud)
要自动化:
#!/bin/bash
for i in `cat outfile.txt`; do
output_dir=$(dirname $i)
unzip -d $output_dir $i
done
Run Code Online (Sandbox Code Playgroud)
编辑:正如@dessert 建议的那样,您可以将其作为更好的选择:
while IFS='' read -r i || [[ -n "$i" ]]; do unzip -d ${i%/*} $i; done <outfile.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14101 次 |
| 最近记录: |