当前位置: 首页 > news >正文

Ubuntu22中的bash脚本记录

1 .for;do;done的使用对于批量处理非常方便

任务描述:需要使用多个不同位置的脚本,来处理一个路径下的数据集,在这个数据集中,还有若干不同的场景

脚本思想:为了简单方便,先赋值好各种路径,比如数据路径,脚本的路径,然后使用for语句来遍历数据集下的各个场景,然后使用脚本处理,直到for循环结束

#!/bin/bash

#数据集路径
base_dir="path/to/CO3D"

#脚本所在项目路径
project1_dir="path/to/project1"
project2_dir="path/to/project2"

#脚本在项目中的路径
script1="$project1_dir/script1"
script2="$project2_dir/script2"
script3="$project2_dir/script3"

#其他文件路径,比如config、pth等等各种
config1="$project1_dir/config1"
config2="$project1_dir/config2"
pth="$project1_dir/pth"
png="$project1_dir/*.png"

#执行脚本所可能需要的环境变量
INSTALL_PATH="$project_dir/g2o"
export LD_LIBRARY_PATH="$INSTALL_PATH/lib"

#for语句,$dir就是具体的数据路径
for dir in $base_dir/*/; do

    sparse_frame="$dir/sparse_frame"
    output_dir="$dir/source"

    #搜索数据
    video1=$(find $dir -name "*_00_*.insv")
    video2=$(find $dir -name "*_10_*.insv")

    if [[ -n $video1 && -n $video2 ]]; then
        echo "++++++++++++++++++++++++++++++++++++++++++++++++执行脚本1++++++++++++++++++++++++++++++++++++++++++++++++"
        $script1 参数1 $pth 参数2 $video1 参数3 $video2 参数4 $config1 参数5 $png --eval-log-dir . --resize 0.25
        echo "++++++++++++++++++++++++++++++++++++++++++++++++脚本2,下面是一个具体的示例++++++++++++++++++++++++++++++++++++++++++++++++"
        python $script2 --video1 $video1 --video2 $video2 --traj "$project_dir/keyframe_trajectory.txt" --downsample 1 --output $sparse_frame
        echo "++++++++++++++++++++++++++++++++++++++++++++++++脚本3++++++++++++++++++++++++++++++++++++++++++++++++"
        python $draw_mask $sparse_frame
        echo "++++++++++++++++++++++++++++++++++++++++++++++++脚本4++++++++++++++++++++++++++++++++++++++++++++++++"
        python $split_fisheye --input_dir $sparse_frame --output_dir $output_dir

    fi
done

相关文章:

  • 【Linux 进程状态】—— 从创建到消亡的全生命周期
  • QT初学——helloworld
  • 魔法方法:__str__( )
  • uniapp 小程序如何实现大模型流式交互?前端SSE技术完整实现解析
  • 【图像的读写与基本操作】
  • C#调用CANoeCLRAdapter.dll文章(一)
  • React Native 0.77正式版发布
  • TEMU标签超简单制作方法,三步快速合成TEMU标签
  • 笔试练习day8
  • 【Python3教程】Python3基础篇之数据结构
  • 一文讲解Redis的内存淘汰和过期策略
  • Python爬取某云热歌榜:解析动态加载的歌曲数据
  • 项目收支管理怎么做
  • vue+element-dialog:修改关闭icon / 遮罩层不能挡住弹窗 / 遮罩层不能遮挡元素
  • Redis分布式缓存面试题
  • 螺旋数字矩阵
  • LeetCode225.用队列实现栈
  • unity学习55:按钮 button
  • 基于DeepSeek的智能客服系统安全与隐私保护:构建可信赖的服务
  • react native中如何实现吸顶的效果
  • 中国-拉共体论坛第四届部长级会议北京宣言
  • 干部任职公示:陕西宁强、镇安两县县长拟进一步使用
  • 美国长滩港货运量因关税暴跌三成,港口负责人:货架要空了
  • 中国金茂新任命三名副总裁,撤销区域公司
  • 优秀“博主”在上海杨浦购房最高补贴200万元,有何条件?
  • 姜再冬大使会见巴基斯坦副总理兼外长达尔