脚本处理:shell及notepad++

1、shell取文件第一行特定字符,并存入到某个文件中

背景说明:

1、文件第一行内容 summary: Prec@1: 73.408, Prec@5: 91.338

2、期待提取数值:73.408和91.338

脚本:

#! /bin/bash

for filename in \
   pytorch_densenet121.txt \
   pytorch_densenet161.txt 
do
   fistline=$(head -n +1 ${filename})
   section=${fistline#*Prec@1:}
   top1=${section%, Prec@*}
   top5=${section#*Prec@5:}
   echo ${filename} >> 1.txt
   echo ${top1} >>1.txt
   echo ${top5} >>1.txt
done


1、shell取文件最后一行的特定字符,并存入到某个文件中

背景说明:

1、最后一行内容为:n02437616/00050000.yuv  Class:355 Predicted: Category:355 Score:0.49561 Category:354 Score:0.41089 Category:9 Score:0.03372 Category:348 Score:0.01595 Category:388 Score:0.00777Prec Top1:72.25000Prec Top5:90.85200

2、期待提取top1和top5数值,即72.25000、90.85200

参考Shell字符串截取的实现方法(非常详细)_linux shell_脚本之家 (jb51.net)

脚本:

#! /bin/bash

for filename in \
   a.txt \
   b.txt \
   c.txt 
do
   lastline=$(cat ${filename} | awk 'END {print}')
   section=${lastline#*Top1:}
  # echo ${section}
   top1=${section%Prec*}
   top5=${section#*Top5:}
   echo ${filename} >> 1.txt
   echo ${top1} >>1.txt
   echo ${top5} >>1.txt
done
结果文件:


 

 

2、shell修改文件名称,将某段字符串开始之后的部分去除

参考:linux 批量修改文件名 文件名只保留部分,去掉部分 - 小麦333 - 博客园 (cnblogs.com)

#! /bin/bash
for file in \
   mxnet_darknet_kl_divergenceresnet50_top5_values_2022-02-25-10-33-37.txt.txt \
   mxnet_DenseNet_kl_divergenceresnet50_top5_values_2022-02-25-10-31-18.txt.txt 
   mv ${file}  ${file%%resnet50_top5*}.txt
done


3、批量替换文件中的某个字符串

#! /bin/bash

for file in \
mxnet_SqueezeNet1.1_int8_percentile.json \
mxnet_SqueezeNet1.0_int8_percentile.json
do
   sed -i "s|hw_config.json|hw_config_batchsize4.json|" ${file}
done


4、shell循环顺序执行命令,而不是并行执行

#! /bin/bash

odel_map=(
"onnx_mnasnet0"
"onnx_gluon"
"onnx_densenet201"
)

for i in ${model_map[@]}
do
   echo $i
   python3  run.py --dataset_path "/home/img/" --model_info_file "./$i.json" --vdsp_params_info "./vdsp.json" --result_path "./result/${i/_int8/_int8_yuv_}"
done


5、后台执行某个脚本

nohup ./1.sh >a.log &


6、vi中字符替换

将所有aaa替换为bbb:%s/aaa/bbb/g

将某行所有aaa替换为bbb::10s/aaa/bbb/g

将某行第一个aaa替换为bbb:10s/aaa/bbb/

注释某行:10s/^/#/g

二、notepad

1、行首^

2、行结尾$
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值