linux - 查找文件并执行命令

标签 linux bash

我有很多 rar 归档文件,它们都在单独的文件夹中,我想编写脚本将它们全部解压。

我无法弄清楚应该如何完成,需要一些帮助。

#!/bin/bash
## For all inodes
for i in pwd; do
    ## If it's a directory
    if [ -d "$i" ] then
        cd $i

        ## Find ".rar" file
        for [f in *.rar]; do
            ./bin/unrar x "$f" # Run unrar command on filename
            cd ..
        done
    done
done

我不熟悉 bash 脚本,我认为代码不止一次错误。但我想这应该是基本结构

最佳答案

您可以使用 find命令:

find -name '*.rar' -exec unrar x {} \;

find 提供选项 exec,它将对找到的每个文件执行该命令。

关于linux - 查找文件并执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26911213/

相关文章:

linux - 亚马逊 Linux 与红帽 Linux

linux - shell语言的数据组

mysql - 将 mysqldump 从 bash 脚本重定向到文件

linux - ubuntu命令将文件从一台服务器复制到另一台服务器

低延迟的 Linux Shell

python - 如何在树莓派上更新到最新的 python 3.5.1 版本?

string - 拆分字符串并选择大写子字符串

linux - 嵌入式Linux : SC16IS752 buffer overflow

bash - 用一行将项目添加到逗号分隔列表

html - 将单个文件夹中的一组 html 文件的 <title> 标记内的所有文本大写