鱼C论坛

 找回密码
 立即注册
查看: 2501|回复: 8

[已解决]linux shell 问题

[复制链接]
发表于 2018-7-31 21:46:49 | 显示全部楼层 |阅读模式
100鱼币
这段代码什么意思,麻烦帮忙每一行都写一下注释,谢谢

  1. set -x
  2. date=$1
  3. #group=$2
  4. label_path=../label
  5. collect_path=../data_collection
  6. out_path=../process_result/$1
  7. correct_label_path=../correct_label_path
  8. pack_data_path=../group_result
  9. description_path=../description
  10. info_path=../info
  11. mkdir -p ${out_path}
  12. mkdir -p ${info_path}
  13. collect_path=$out_path
  14. group_list=`ls $collect_path`
  15. for sub_dir in $group_list
  16. do
  17.     if [ -d $collect_path"/"$sub_dir ]
  18.     then
  19.         group=$sub_dir
  20.     fi
  21.     label=${label_path}/${group}.txt
  22.     bash label_checker.sh $label '\t' 2 3 500 correct
  23.     tmp_label=${label}.correct
  24.     mkdir -p ${corrrect_label_path}
  25.     correct_label=${correct_label_path}/${group}.txt
  26.     cp -f $tmp_label ${correct_label}
  27.     echo $out_path
  28.     #bash run.sh $group ${collect_path}/$group $correct_label $out_path
  29.     python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
  30. done
  31.     #python ./minio_test.py $bucket $source $day $collect_type $group $object_name $local_object
复制代码
最佳答案
2018-7-31 21:46:50
  1. set -x
  2. date=$1 #运行代码时所带参数
  3. #group=$2
  4. label_path=../label #设置的路径为上级目录的label文件夹
  5. collect_path=../data_collection #设置的路径为上级目录的data_collection文件夹
  6. out_path=../process_result/$1 #设置输出路径为上级目录的process_result文件夹中的$1文件夹
  7. correct_label_path=../correct_label_path #该路径为上级目录下的correct_label_path文件夹
  8. pack_data_path=../group_result #该路径为上级目录下的group_result文件夹
  9. description_path=../description #该路径为上级目录下的description文件夹
  10. info_path=../info #该路径为上级目录下的info文件夹
  11. mkdir -p ${out_path} #创建一系列文件夹,路径为../process_result/$1
  12. mkdir -p ${info_path} #创建一系列文件夹,路径为../info
  13. collect_path=$out_path #赋值
  14. group_list=`ls $collect_path` #`ls $collect_path`列出$collect_path路径下的所有文件
  15. for sub_dir in $group_list
  16. do
  17.     if [ -d $collect_path"/"$sub_dir ]
  18.     then
  19.         group=$sub_dir
  20.     fi
  21.     label=${label_path}/${group}.txt
  22.     bash label_checker.sh $label '\t' 2 3 500 correct
  23.     tmp_label=${label}.correct
  24.     mkdir -p ${corrrect_label_path}
  25.     correct_label=${correct_label_path}/${group}.txt
  26.     cp -f $tmp_label ${correct_label}
  27.     echo $out_path
  28.     #bash run.sh $group ${collect_path}/$group $correct_label $out_path
  29.     python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
  30. done
  31.     #python ./minio_test.py $bucket $source $day $collect_type $group $object_name $local_object
复制代码


总之
mkdir 创建文件夹
../  上级路径
cp  拷贝
echo 输出

最佳答案

查看完整内容

总之 mkdir 创建文件夹 ../ 上级路径 cp 拷贝 echo 输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-31 21:46:50 | 显示全部楼层    本楼为最佳答案   
  1. set -x
  2. date=$1 #运行代码时所带参数
  3. #group=$2
  4. label_path=../label #设置的路径为上级目录的label文件夹
  5. collect_path=../data_collection #设置的路径为上级目录的data_collection文件夹
  6. out_path=../process_result/$1 #设置输出路径为上级目录的process_result文件夹中的$1文件夹
  7. correct_label_path=../correct_label_path #该路径为上级目录下的correct_label_path文件夹
  8. pack_data_path=../group_result #该路径为上级目录下的group_result文件夹
  9. description_path=../description #该路径为上级目录下的description文件夹
  10. info_path=../info #该路径为上级目录下的info文件夹
  11. mkdir -p ${out_path} #创建一系列文件夹,路径为../process_result/$1
  12. mkdir -p ${info_path} #创建一系列文件夹,路径为../info
  13. collect_path=$out_path #赋值
  14. group_list=`ls $collect_path` #`ls $collect_path`列出$collect_path路径下的所有文件
  15. for sub_dir in $group_list
  16. do
  17.     if [ -d $collect_path"/"$sub_dir ]
  18.     then
  19.         group=$sub_dir
  20.     fi
  21.     label=${label_path}/${group}.txt
  22.     bash label_checker.sh $label '\t' 2 3 500 correct
  23.     tmp_label=${label}.correct
  24.     mkdir -p ${corrrect_label_path}
  25.     correct_label=${correct_label_path}/${group}.txt
  26.     cp -f $tmp_label ${correct_label}
  27.     echo $out_path
  28.     #bash run.sh $group ${collect_path}/$group $correct_label $out_path
  29.     python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
  30. done
  31.     #python ./minio_test.py $bucket $source $day $collect_type $group $object_name $local_object
复制代码


总之
mkdir 创建文件夹
../  上级路径
cp  拷贝
echo 输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-1 10:43:17 | 显示全部楼层
不二不幸福 发表于 2018-8-1 09:53
总之
mkdir 创建文件夹
../  上级路径

倒数第二行,什么意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-1 15:52:18 | 显示全部楼层
倒数第二行是done,与前面的for相响应,for表示循环的开始,done表示循环的结束
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-1 16:31:22 | 显示全部楼层
xy123963 发表于 2018-8-1 15:52
倒数第二行是done,与前面的for相响应,for表示循环的开始,done表示循环的结束

python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
这行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-1 16:37:36 | 显示全部楼层
史莱克 发表于 2018-8-1 16:31
python ./backend/fix_group.py $out_path $group $description_path $pack_data_path $info_path $date
...

这是python的运行语句,运行 ./backend/fix_group.py 这个代码,$out_path,$group, $description_path,$pack_data_path,$info_path,$date表示输入fix_group.py的六个参数。这个代码具体的作用是什么,得需要看下结合fix_group.py里面的代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-2 21:36:30 | 显示全部楼层
xy123963 发表于 2018-8-1 16:37
这是python的运行语句,运行 ./backend/fix_group.py 这个代码,$out_path,$group, $description_path ...

非常感谢,您能在帮我看下这段代码什么意思吗
  1. # 6sku_event_1-300
  2. event=$1
  3. collect_path=$2
  4. label_file=$3
  5. out_path=$4
  6. mkdir -p ./process_result
  7. bash ./video_segmenter.sh \
  8.         -i $collect_path \
  9.         -m $label_file \
  10.         -o ${out_path}/${event} \
  11.         -d 100 -r 500 -f "jpg" -n 12

复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-3 09:31:34 | 显示全部楼层
史莱克 发表于 2018-8-2 21:36
非常感谢,您能在帮我看下这段代码什么意思吗

这个代码的整个意思就是赋值变量,创建文件夹,然后运行./video_segmenter.sh代码,具体如下:
# 6sku_event_1-300
event=$1 #把输入的第一个值赋值给event
collect_path=$2#把输入的第二个值赋值给collect_path
label_file=$3#把输入的第三个值赋值给label_file
out_path=$4#把输入的第四个值赋值给out_path
mkdir -p ./process_result#在当前路径下创建process_result文件夹
bash ./video_segmenter.sh \#运行当前目录下video_segmenter.sh的代码
        -i $collect_path \#把前面定义的collect_path传递给代码中的i参数
        -m $label_file \#把前面定义的$label_file传递给代码中的m参数
        -o ${out_path}/${event} \#通过前面定义的out_path与event组合形成一个路径传递给代码中的o参数
        -d 100 -r 500 -f "jpg" -n 12#-d,-r,-f,-n的输入参数

可以先学习一下linux的基础语法,可能会对你有点帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-8-6 09:41:57 | 显示全部楼层
xy123963 发表于 2018-8-3 09:31
这个代码的整个意思就是赋值变量,创建文件夹,然后运行./video_segmenter.sh代码,具体如下:
# 6sku_e ...

非常感谢,刚入职没人带,组长给了一个代码文件,让看,之前没有接触过 shell 语言,上周学了一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 14:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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