全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 873|回复: 7

求一个shell命令

[复制链接]
发表于 2022-3-25 15:43:08 | 显示全部楼层 |阅读模式
本帖最后由 mikasa 于 2022-3-25 16:11 编辑

假设有文件夹a,其下有压缩包1.rar 2.rar 3.rar(实际文件名为中文且其中含有空格) .... 要把每个压缩包解压再压缩成zip并删除解压后的文件。求求万能的mjj帮帮忙

发表于 2022-3-25 15:46:57 | 显示全部楼层
for  i  in  `ls  xxx`
do
unrar $i
done

for i in  `ls xxx|grep -v rar`
gzip  $i  $i.zip
done

mv *.zip  ../
rm *  -fr ./

大概就这样,来大佬帮忙看看,随便写的,命令可能不对,但不纠结
 楼主| 发表于 2022-3-25 15:52:33 | 显示全部楼层
luzi3306 发表于 2022-3-25 15:46
for  i  in  `ls  xxx`
do
unrar $i

感谢,差不多是我想要的
 楼主| 发表于 2022-3-25 16:08:32 | 显示全部楼层
luzi3306 发表于 2022-3-25 15:46
for  i  in  `ls  xxx`
do
unrar $i

不行啊,老哥,实际文件名中是带有空格的,用ls给i赋值时一个文件名沿着空格被分成两个值了
发表于 2022-3-25 17:44:04 | 显示全部楼层
压缩包里面会不会还有压缩包
发表于 2022-3-25 17:54:21 | 显示全部楼层
mikasa 发表于 2022-3-25 16:08
不行啊,老哥,实际文件名中是带有空格的,用ls给i赋值时一个文件名沿着空格被分成两个值了 ...

竟然知道问题所在,那带着这个问题去找答案不就好了嘛
https://blog.csdn.net/xiejianjun417/article/details/121889216
 楼主| 发表于 2022-3-25 21:14:53 | 显示全部楼层
深海空间 发表于 2022-3-25 17:54
竟然知道问题所在,那带着这个问题去找答案不就好了嘛
https://blog.csdn.net/xiejianjun417/article/det ...

谢谢,已经解决了
发表于 2022-3-26 18:13:28 | 显示全部楼层
mikasa 发表于 2022-3-25 21:14
谢谢,已经解决了

我觉得你这需求还是挺简单的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 19:22 , Processed in 0.061470 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表