我有拉链结构
temp.zip - file.csv - readme.txt - license.txt
如何解压缩temp.zip,在名称中添加时间戳, 结果:
file.142345687.csv readme.142345687.txt license.142345687.txt
答案 0 :(得分:2)
使用-l
选项列出文件,然后使用-p
选项逐个提取它们:
unzip -l -q -q temp.zip | awk '{print $NF}' | while read file
do
unzip -p temp.zip "${file}" > "${file%.*}.$(date +%s).${file##*.}"
done
,其中
-q -q
选项要求静默输出(在易于解析的列中); awk
的{{1}}指向最后一栏; $NF
从文件名后面删除${file%.*}
的最短匹配项; .*
从文件名前面删除${file##*.}
的最长匹配项; *.
输出自1970-01-01 00:00:00 UTC 答案 1 :(得分:0)
你可以尝试这样的事情;
#!/bin/bash
unzip temp.zip
for n in $(unzip -Z -1 "temp.zip"); do
e=${n#*.}
fn="${n%.*}"
DATE=`date +%s`
newFileName="$filename.$DATE.$e"
mv "$n" "$newFileName"
done