You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Linux Bash脚本循环运行各子目录中的ak33.R文件?

用Bash循环运行指定子目录中的R脚本

以下是几种实现方式,按需选择:

1. 直接遍历已知的子目录(sub_folder1到sub_folder5)

如果明确知道子目录名称范围,可以用Bash的大括号扩展快速生成目录列表:

#!/bin/bash
# 遍历sub_folder1至sub_folder5
for dir in /mnt/d/main_folder/sub_folder{1..5}; do
    # 先检查目标R文件是否存在
    if [ -f "$dir/ak33.R" ]; then
        echo "执行脚本:$dir/ak33.R"
        Rscript "$dir/ak33.R"
    else
        echo "跳过:$dir/ak33.R 不存在"
    fi
done

2. 自动匹配符合命名规则的子目录

如果子目录都是以sub_folder开头(比如还有sub_folder6等),可以用通配符自动匹配:

#!/bin/bash
# 匹配所有以sub_folder开头的子目录
for dir in /mnt/d/main_folder/sub_folder*; do
    # 先确认是目录,再检查R文件
    if [ -d "$dir" ] && [ -f "$dir/ak33.R" ]; then
        echo "执行脚本:$dir/ak33.R"
        Rscript "$dir/ak33.R"
    fi
done

3. 遍历主目录下所有子目录

如果需要遍历/mnt/d/main_folder下的所有子目录,不管名称,只要里面有ak33.R就运行:

#!/bin/bash
# 遍历主目录下所有子目录(*/ 匹配子目录)
for dir in /mnt/d/main_folder/*/; do
    if [ -f "$dir/ak33.R" ]; then
        echo "执行脚本:$dir/ak33.R"
        Rscript "$dir/ak33.R"
    fi
done

使用说明

  1. 将上述任意一段代码保存为脚本文件,比如run_ak33.sh
  2. 赋予脚本执行权限:chmod +x run_ak33.sh
  3. 运行脚本:./run_ak33.sh

内容的提问来源于stack exchange,提问作者Thaatha_Paati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 05:06:28