我可以使用以下命令对文件夹中的.zip
文件执行此操作:
for f in "!"; do unzip -d "${f%*.zip}" "$f"; done
上述命令将给定文件夹中的所有.zip
文件提取到子文件夹,其中包含相应.zip
个文件的内容和名称。
但我无法找到一个对.tar
文件执行相同操作的命令。请帮忙。
顺便说一下,我试图在使用WinSCP / putty的远程服务器上执行此操作。所以,我不能使用GUI软件。我需要一个命令,因此问题。
答案 0 :(得分:0)
经过一些小小的摆弄后,我想出了for f in $(find -maxdepth 1 | grep .tar); do mkdir ${f%.tar}; tar -xaf $f -C ${f%.tar} ; done
似乎可以工作,只要文件名不包含任何空格。我假设您希望将foo.tar
中的目录命名为foo
(无文件扩展名)。如果您希望将目录命名为foo.tar
(带有文件扩展名),请尝试使用for f in $(find -maxdepth 1 | grep .tar); do mkdir $f ; tar -xaf $f -C $f ; done
。
IIRC,远程访问客户端Cyberduck可以在GUI中处理压缩文件 - 因此,如果您使用GUI解决方案,则可以尝试使用。