linux - 一个 bash 脚本,用于解压 linux 子目录中的所有文件
问题描述
我在 Ubuntu 服务器 18.04 上。
我的主要目标是从父目录运行脚本,该脚本将父目录的所有子目录中的所有文件解压缩。我也安装apt install unrar
了它,它位于“/usr/bin/unrar”。这是我到现在为止的想法。但它似乎不起作用:
for dir in 'pwd/*/'
do
dir=${dir%*/}
cd dir
for file in dir/*/
do
"/usr/bin/unrar" x dir/*.r* dir/
done
解决方案
如果您只想解压缩找到目录中的每个 rar 文件,find
可以直接执行此操作。这需要一些时间来适应,但非常值得学习。
find . -name '*.rar' -execdir unrar {} \;
简而言之,说要在找到它的目录中的每个找到的文件上-execdir
运行这些东西;占位符被替换为文件名\;
。{}
推荐阅读
- github - 镜像 Azure DevOps (Azure Repos) 中的所有 GitHub 活动
- c - 关于在 Unix 中实现系统功能的困惑
- c# - Use bot calling endpoint to listen to meetings/calls between users
- graphql - Looking for code for a server side GraphQL subscription listener
- vb.net - 如何在 VB .NET 中隐藏 Selenium ChromeDriver 控制台
- c - Having trouble concatenating first name and last name
- maven - 为什么 maven deploy 会生成额外的 jars
- amazon-web-services - Dockerfile - 将配置文件复制到适当的容器
- javascript - 调用数据键值的方法?
- bash - 在 bash 脚本中,如何遍历按日期排序的文件