249个shell脚本(shell 脚本处理)

2025-11-18 01:00:02 :0

249个shell脚本(shell 脚本处理)

“249个shell脚本”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看249个shell脚本(shell 脚本处理)!

本文目录

shell 脚本处理

#!/bin/bash
#fd=’./分类/’   
#for fn in  `ls $fd`  #如果多个文件,使用类似方法依次得到文件名
fn=’a.txt’
awk -F, ’NR==1{col2=$2;col3=$3}
         NR》1{printf $1;
if(index($2,"、")》0){
    split($2,arr,"、");
    for(a in arr){
       ind=index(arr,"-");
       if(ind》0){
          split(arr,arB,"-");
          beg=arB;
          end=arB;
         # print "beg=",beg,"end=",end
          for(i=beg;i《=end;i++){
            printf(",%s%s",col2,i);
           }
       }else{printf(",%s%s",col2,arr)}
    }
}else{printf(",%s%s",col2,$2);}
printf(",%s%s\n",col3,$3);
}’ $fn

注意:你的例子中   分割符逗号有中文的,也有英文的,我统一改成了英文的。如果不改,-F选项改为:-F,,

printf(",%s%s",字符串1,字符串2),也可以写为:printf ","字符串1""字符串2

前面这样可能更好理解。

有一种情况 没考虑,代码更改如下:

#!/bin/bash
#fd=’./分类/’
#for fn in  `ls $fd`
fn=’a.txt’
awk -F, ’NR==1{col2=$2;col3=$3}
         NR》1{printf $1;
if(index($2,"、")》0){
    split($2,arr,"、");
    for(a in arr){
       ind=index(arr,"-");
       if(ind》0){
          split(arr,arB,"-");
          beg=arB;
          end=arB;
         # print "beg=",beg,"end=",end
          for(i=beg;i《=end;i++){
            printf(",%s%s",col2,i);
           }
       }else{
       printf(",%s%s",col2,arr)
       }
    }
}else if(index($2,"-")》0){
   split($2,arB,"-");
   beg=arB;
   end=arB;
   for(i=beg;i《=end;i++){
       printf(",%s%s",col2,i);
   }
}else{
printf(",%s%s",col2,$2);
}
printf(",%s%s\n",col3,$3);
}’ $fn

多种情况的验证:

怎样编写shell脚本实现统计一个小组的成绩情况,统计信息包括:总分,平均分,最高分

#!/bin/bash\x0d\x0a\x0d\x0a# 2013/07/01 sun\x0d\x0a\x0d\x0a#功能说明:实现统计录入学生成绩的总人数,得出最高分,最低分,平均分,方差,标准方差,还有各个分数段的所占百分比\x0d\x0a\x0d\x0aecho "请输入所有学生的成绩,以空格隔开:"\x0d\x0a\x0d\x0aread -a score_arr\x0d\x0a\x0d\x0a#定义一个数组来存放用户输入的成绩\x0d\x0a\x0d\x0asorted_arr=($(printf ’%s\n"${score_arr} -v vb=$ave ’BEGIN{printf "%2d" ,va-vb}’)\x0d\x0a\x0d\x0a #让每一个数都减去平均数然后赋值于ua\x0d\x0a\x0d\x0a ual=$(awk -v va=$ua -v vb=$ua ’BEGIN{printf "%2d" ,va*vb}’)\x0d\x0a\x0d\x0a #算得ua的平方\x0d\x0a\x0d\x0a uall=$(awk -v va=$uall -v vb=$ual ’BEGIN{printf "%2d" ,va+vb}’)\x0d\x0a\x0d\x0a #算出它们的总合,也就是方差\x0d\x0a\x0d\x0adone\x0d\x0a\x0d\x0au=$(awk -v va=$uall -v vb=$count ’BEGIN{printf "%2d" ,va/vb}’)\x0d\x0a\x0d\x0a#算出学生成绩的平均分,并赋值于ave\x0d\x0a\x0d\x0a#下面是计算每个分数段的百分数\x0d\x0a\x0d\x0acountb=$(awk -v va=$b -v vb=$count ’BEGIN{printf "%2.2f%%" ,va*100/vb}’)\x0d\x0a\x0d\x0a#echo $countb\x0d\x0a\x0d\x0acountc=$(awk -v va=$c -v vb=$count ’BEGIN{printf "%2.2f%%" ,va*100/vb}’)\x0d\x0a\x0d\x0a#echo $countc\x0d\x0a\x0d\x0acountd=$(awk -v va=$d -v vb=$count ’BEGIN{printf "%2.2f%%" ,va*100/vb}’)\x0d\x0a\x0d\x0a#echo $countd\x0d\x0a\x0d\x0acounte=$(awk -v va=$e -v vb=$count ’BEGIN{printf "%2.2f%%" ,va*100/vb}’)\x0d\x0a\x0d\x0a#echo $counte\x0d\x0a\x0d\x0acountf=$(awk -v va=$f -v vb=$count ’BEGIN{printf "%2.2f%%" ,va*100/vb}’)\x0d\x0a\x0d\x0a#echo $countf\x0d\x0a\x0d\x0a#输出结果\x0d\x0a\x0d\x0aecho "总人数 最高分 最低分 平均分 方差 "\x0d\x0a\x0d\x0aecho "$count $max $min $ave $u " \x0d\x0a\x0d\x0aecho "标准方差=" \x0d\x0a\x0d\x0aecho "scale=5;sqrt($u)" | bc\x0d\x0a\x0d\x0a#算出标准方差\x0d\x0a\x0d\x0aecho " 60分以下 60--69 70--79 80--89 90--100"\x0d\x0a\x0d\x0aecho "人数" " $b $c $d $e $f"\x0d\x0a\x0d\x0aecho "比例" "$countb $countc $countd $counte $countf"

如何用shell脚本统计出当前目录下子目录,还有所有可读,可写,可执行的文件的个数

#!/bin/bash  
fcnt=0
dcnt=0
frcnt=0
fwcnt=0
fxcnt=0
for file in *
do
    if ;then
        let fcnt+=1
        if ;then
           let frcnt+=1
        fi
        if ;then
           let fwcnt+=1
        fi
        if ;then
           let fxcnt+=1
        fi
    elif ;then
        let dcnt+=1
    fi
done
echo "There are $fcnt files in $PWD"
echo -e "\tThere are $frcnt readable files in $PWD"
echo -e "\tThere are $fwcnt writeable files in $PWD"
echo -e "\tThere are $fxcnt executeable files in $PWD"
echo "There are $dcnt directories in $PWD"

利用shell脚本如何提取一个文件中某一特定行和下面若干行的内容

1、在linux目录/root下建立一个txt文件,内容如下,使用|竖线分割,作为我们的实验数据样本。

2、sed用法、sed-n’xp’data.txt;显示文件X行数据,获取第18行数据,即为sed-n’18p’data.txt。

3、sed-n’开始行,结束行p’data.txt;显示文件X行到Y行的内容:命令:sed-n’10,18p’data.txt。

4、head/tail用法。tail用法:tail经常用来查看文件末尾的数据,在shell中可以获取文本中指定数据行。tail-n-3data.txt获取文件最好3行数据。tail-n+3data.txt获取文件3到最后一行数据。

5、head用法:head经常用来显示文本的前n行数据。head-n10data.txt显示文本请10行数据。

6、tail和head的结合使用:例如获取文本倒数第二行数据,结果如图所示。命令:tail-n2data.txt|head-n1。

7、awk用法、awk在文本处理方面有着强大的功能,配合脚本使用,可以打印指定行和列。awk’NR==18{print}’data.txt。NR指定行号。

问个关于shell脚本的问题

第2段:filename=${fileuser:-"filename"}
意思是当变量fileuser为空时,filename变量的值就是字符串“filename”,如果不为空时,filename变量的值就是fileuser变量的值。也就是说,文件名最后就是字符串“filename”时,就表明没有设置文件名
第3段:这是取时间命令的固定格式,没什么好讲的
今天:date1=`date +%y%m%d`
昨天:date2=`date -d "1 days ago" +%y%m%d`
前天:date3=`date -d "2 days ago" +%y%m%d`
以上是取时间的命令,注意命令的左右两边的符号是键盘上波浪线的那个键。用了什么---就错了。
不知道你的明白?O(∩_∩)O~

shell 脚本求解

命令行:sed -i ’s/ABC123/EFG456/2’ a.txt

脚本:

cat 》》 script.sh 《《EOF

#!/bin/bash

file=\$1

if ; then

  echo -e "请输入\${file},如 script.sh a.txt"

  exit 1

fi

if ; then

  echo -e "文件\${file} 不存在"

  exit 2

fi

sed -i ’s/ABC123/EFG456/2’ \$file

echo -e "修改\${file}成功"

exit 0

EOF

如果script.sh 中有类似这样的字符 要先删除

添加权限:chmod a+x script.sh

调用 : ./script.sh a.txt

如果你还想了解更多这方面的信息,记得收藏关注本站。

249个shell脚本(shell 脚本处理)

本文编辑:admin

更多文章:


rate的用法及搭配(达成率用英语怎么说)

rate的用法及搭配(达成率用英语怎么说)

大家好,rate的用法及搭配相信很多的网友都不是很明白,包括达成率用英语怎么说也是一样,不过没有关系,接下来就来为大家分享关于rate的用法及搭配和达成率用英语怎么说的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2026年5月19日 10:45

c语言编程求两数之和(c语言中求两个数之和)

c语言编程求两数之和(c语言中求两个数之和)

本篇文章给大家谈谈c语言编程求两数之和,以及c语言中求两个数之和对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录c语言中求两个数之和c语言求

2025年5月26日 13:15

下载免费java(有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的)

下载免费java(有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的)

大家好,如果您还对下载免费java不太了解,没有关系,今天就由本站为大家分享下载免费java的知识,包括有什么无病毒、安全的网站可以免费下载java格式手机游戏,且是触屏全屏的的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧

2026年9月24日 18:00

php7连接mysql数据库操作(PHP7连接mysql数据库方法)

php7连接mysql数据库操作(PHP7连接mysql数据库方法)

大家好,如果您还对php7连接mysql数据库操作不太了解,没有关系,今天就由本站为大家分享php7连接mysql数据库操作的知识,包括PHP7连接mysql数据库方法的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目

2025年12月29日 00:15

c语言终止程序(C语言~~~如何使程序中途结束、跳出~~~)

c语言终止程序(C语言~~~如何使程序中途结束、跳出~~~)

今天给各位分享C语言~~~如何使程序中途结束、跳出~~~的知识,其中也会对C语言~~~如何使程序中途结束、跳出~~~进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录C语言~~~如何使程序中途结束、跳出~~~C语

2025年6月5日 07:30

swing工具包(如何向eclipse里插入Swing包)

swing工具包(如何向eclipse里插入Swing包)

各位老铁们,大家好,今天由我来为大家分享swing工具包,以及如何向eclipse里插入Swing包的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录

2025年11月5日 16:15

源码网站怎么进(网页源文件如何用网页打开)

源码网站怎么进(网页源文件如何用网页打开)

大家好,源码网站怎么进相信很多的网友都不是很明白,包括网页源文件如何用网页打开也是一样,不过没有关系,接下来就来为大家分享关于源码网站怎么进和网页源文件如何用网页打开的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目

2026年9月14日 10:15

达内教育登录(达内培训四个月靠谱吗)

达内教育登录(达内培训四个月靠谱吗)

本篇文章给大家谈谈达内教育登录,以及达内培训四个月靠谱吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录达内培训四个月靠谱吗达内培训it靠谱么大连达内培训怎么样,就业好不好达内课程中心达内贷款培训达内培训四个月靠谱吗在达内培训

2025年11月17日 17:45

flex布局的兼容性(怎么用css使得input的输入框对齐,要写出代码,别百度其他的)

flex布局的兼容性(怎么用css使得input的输入框对齐,要写出代码,别百度其他的)

今天给各位分享怎么用css使得input的输入框对齐,要写出代码,别百度其他的的知识,其中也会对怎么用css使得input的输入框对齐,要写出代码,别百度其他的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录怎

2026年7月27日 12:15

正则表达式支持库(怎样在aardio中使用正则表达式,用哪个函数)

正则表达式支持库(怎样在aardio中使用正则表达式,用哪个函数)

本篇文章给大家谈谈正则表达式支持库,以及怎样在aardio中使用正则表达式,用哪个函数对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录怎样在

2025年11月17日 05:30

math函数用法(如何使用python中的math)

math函数用法(如何使用python中的math)

大家好,关于math函数用法很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于如何使用python中的math的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文

2026年8月3日 04:45

腾讯云数据库管理工具(navicat导入mangodb几百万行传输中断)

腾讯云数据库管理工具(navicat导入mangodb几百万行传输中断)

大家好,腾讯云数据库管理工具相信很多的网友都不是很明白,包括navicat导入mangodb几百万行传输中断也是一样,不过没有关系,接下来就来为大家分享关于腾讯云数据库管理工具和navicat导入mangodb几百万行传输中断的一些知识点,

2025年12月5日 03:30

java 线程安全(java中为什么说,String是线程安全的)

java 线程安全(java中为什么说,String是线程安全的)

这篇文章给大家聊聊关于java 线程安全,以及java中为什么说,String是线程安全的对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录java中为什么说,String是线程安全的JAVA中如何保证线程安全以及主键自增有序j

2026年5月1日 04:00

下载excel教程(windows家庭中文版的怎么下载excel教程)

下载excel教程(windows家庭中文版的怎么下载excel教程)

这篇文章给大家聊聊关于下载excel教程,以及windows家庭中文版的怎么下载excel教程对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录windows家庭中文版的怎么下载excel教程如何安装excel软件的教程offi

2026年8月11日 20:15

delphi控制485(如何在delphi中使用海康威视的485口)

delphi控制485(如何在delphi中使用海康威视的485口)

今天给各位分享如何在delphi中使用海康威视的485口的知识,其中也会对如何在delphi中使用海康威视的485口进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录如何在delphi中使用海康威视的485口de

2026年9月4日 06:00

reflection固定搭配(scattered固定搭配)

reflection固定搭配(scattered固定搭配)

这篇文章给大家聊聊关于reflection固定搭配,以及scattered固定搭配对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录scattered固定搭配prefer to do和prefer doing的区别afford的

2026年3月24日 11:15

tengine windows(天龙八部报错是怎么回事啊 )

tengine windows(天龙八部报错是怎么回事啊 )

大家好,如果您还对tengine windows不太了解,没有关系,今天就由本站为大家分享tengine windows的知识,包括天龙八部报错是怎么回事啊 的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录天龙八部

2026年2月14日 17:45

ctab化学名称?predictive与predictable的区别

ctab化学名称?predictive与predictable的区别

今天给各位分享ctab化学名称的知识,其中也会对ctab化学名称进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录ctab化学名称predictive与predictable的区别ctab化学名称ctab是化学物

2026年8月14日 15:30

battery is critically low是什么意思(电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情)

battery is critically low是什么意思(电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情)

大家好,关于battery is critically low是什么意思很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于电脑开机出显warning!batteryiscritcallylow就停在这个位置不动是什么情的知识点

2025年12月14日 00:30

乘风滑块游戏(数字华容道怎么玩)

乘风滑块游戏(数字华容道怎么玩)

各位老铁们好,相信很多人对乘风滑块游戏都不是特别的了解,因此呢,今天就来为大家分享下关于乘风滑块游戏以及数字华容道怎么玩的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录数字华容道怎么玩很多长方形最后红色出关卡叫什

2025年6月26日 07:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索