shell工程实践——带选项提取文件并处理

原创 2018年04月16日 21:42:11

时间: 2018-4-16

# 本脚本实现:

 1、 带选项的操作 ;

 2、截取终端输出;


#!/bin/sh


S=3; L=15; M=80;  H=250;  N=1; l=1;  R=1;


while getopts "hS:L:M:H:N:l:R:" opt
do
        case $opt in
                h )  echo  "   Usage:";
                     echo  "  ./test_png.sh  -S x -L x -M x -H x -N x -l x -R x ";
                     exit 0  ;;
                S )  S=$OPTIND ;; 
                L )    L=$OPTIND ;;
                
                M )  M=$OPTIND ;;
                H ) H=$OPTIND ;;
                N )  N=$OPTIND ;;
                l ) l=$OPTIND ;;
                R ) R=$OPTIND ;;
                ? ) 
               
                 echo -n  "The test will use default arguments\n";;
                   
        esac
done
rm dat.txt 2> /dev/null


echo "Start deal the images ..."
ls  ./mlkk/old_image/*.png >> dat.txt


cat dat.txt | while read line  
do  
    png_file=${line##*old_image/};   ## 截取old_image/ 后的字符
    echo -n "start to deal *******> $png_file <*******\n"


   ./MSR_original -S$S -L$L -M$M -H$H -N$N -l$l -R$R ./mlkk/old_image/$png_file MSR_rgb  MSR_gray
  
   
    cp  MSR_gray  ./mlkk/new_image_gray/$png_file
    cp  MSR_rgb   ./mlkk/new_image_rgb/$png_file
   
     
done 


rm dat.txt


echo -n "Deal finished \n"






版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ljh618625/article/details/79967024

Shell 逐行读取文本中的字符串 处理 并打印到新的文本中

!#/bin/bash H=·pwd· filename=$H/Tsinghua.scp cat $filename | while read line ;do new_str=$(echo ...
  • rooki_men
  • rooki_men
  • 2017-03-14 14:06:51
  • 1232

使用 getopt 处理命令行长参数(长选项)

getopt命令并不是bash的内建命令,它是由util-linux包提供的外部命令。 getopt 与 getopts 的区别 getopts 是 shell 内建命令, get...
  • u011641885
  • u011641885
  • 2015-08-11 23:00:11
  • 2750

SHELL技巧:处理文件名中的那些空格

现在很多人命名的时候都喜欢用空格,例如“An Introduction.doc”。但是这种命名方式给Linux命令行工具和Shell带来了困扰,因为大多数命令中,都是默认以空格做为值与值之间的分隔符,...
  • dearwind153
  • dearwind153
  • 2016-08-04 14:31:50
  • 2276

[Shell] Shell 循环取出目录中的文件及日期的用法

1  for errorlog in `ls ${log_source_directory} | grep ${today}`           2  do3      if [ ! -z ${er...
  • lihe2008125
  • lihe2008125
  • 2010-05-27 17:05:00
  • 1559

shell脚本,每次读取文件的一行,逐行读取并处理

shell脚本,每次读取文件的一行,逐行读取并做显示处理,如需其它处理,自行修改即可。 写法一: Example 1 2 3 4 5 ...
  • cythia45
  • cythia45
  • 2014-05-07 09:40:22
  • 2857

shell浅谈之六字符串和文件处理

一、简介       Shell编程中循环命令用于特定条件下决定某些语句重复执行的控制方式,有三种常用的循环语句:for、while和until。while循环和for循环属于“当型循环”,而u...
  • taiyang1987912
  • taiyang1987912
  • 2014-09-10 21:40:47
  • 1992

linux【Shell脚本】逐行处理文本文件

经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下: 1.通过read命令完成. read命令接收标准输入,或其他文...
  • iamlihongwei
  • iamlihongwei
  • 2017-03-01 17:59:04
  • 924

shell 脚本之文本处理

我学习shell 最初目的就是用于文本处理,以及自动化处理一些繁杂的操作,shell 脚本在这方面正是非常好用的工具。 本文只介绍常见的文本处理,对于其中涉及到的命令,以及正则表达式则不过多介绍;如果...
  • haoyuedangkong_fei
  • haoyuedangkong_fei
  • 2016-12-27 21:01:46
  • 1767

Bash循环处理带有空格的文件名

对于带有空格的文件名在进行循环处理时,如果不好好处理会出现一些让人头痛的问题,比如本来想要对正常的文件名称进行处理,但是,由于文件名中有空格导致,文件名错误。那么如何正确处理带有空格的文件名呢?请看这...
  • u014717036
  • u014717036
  • 2017-05-02 22:56:01
  • 404

从html文件中提取超链接URL的shell脚本

sed -n '/ html.txt | sed 's#]*\)>#--SYN--\1--FIN--#g; s///g' | \ sed 's/--SYN--//;' | \ sed "s#]*h...
  • chengxuyuanyonghu
  • chengxuyuanyonghu
  • 2015-02-09 14:18:06
  • 1913
收藏助手
不良信息举报
您举报文章:shell工程实践——带选项提取文件并处理
举报原因:
原因补充:

(最多只允许输入30个字)