我对使用终端非常陌生,想知道如何将充满.zip文件的文件夹放到与从其中提取的.zip文件相同的子文件夹中。
到目前为止,我认为unzip '*.zip' -d
它将所有.zip文件提取到一个目录中,但是我不确定如何-d
为每个.zip文件指向/创建目标文件夹。
另外,Nautilus Action Config Tool似乎可以模仿7zip Extract To命令,但这似乎有些令人生畏。
使用该Nautilus Action Config Tool
选项并调用my script zippy.sh
:
#!/bin/bash
# Unzipping and organizing files from nautilus
m=0 # counter
while [ -n "$1" ] && [ -f "$1" ]
do
if [[ "$1" =~ \.zip$ ]]
then
dir="$1"
dir=${dir%.*}
unzip "$1" -d "$dir"
m=$(($m + 1))
shift
fi
done
zenity --info --text="Operations finished and "$m" zip files unzipped"
exit 0
将脚本放在这里:
~/.local/share/nautilus/scripts/
使它可执行 chmod +x ~/.local/share/nautilus/scripts/zippy.sh
解释:
-n
并-f
检查文件号不为零且分别为文件
=~ \.zip$
确保它是一个zip文件
${dir%.*}
切断zip
文件名的一部分
m=$(($m + 1))
计算可以处理多少个zip文件。
shift
浏览文件
zenity
显示一个消息框以指示操作结论
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句