栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell脚本常用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell脚本常用

$0 脚本名

$1 第一个参数
awk
cat data.txt | awk '{print $2}' #默认以空格为区分,打印第二列

cat data.txt | awk -F'{2,}' '{print $3}' #以两个及以上空格为区分,打印第三列

cat data.txt | awk -F: '{print $4}' #以:为分隔符,打印第四列

cat data.txt | awk '{print $1=null,$0}' #不打第一列,其他列都输出

cat data.txt | awk -F cha: '{print $2}' #以cha:为分隔符,打印分隔符后面的(如果仅有一个cha:)

... | awk '{sum += $1};END {print sum}' #必然会用到的求和

awk 'NR=='x'{print}' data.txt #从data.txt中读取第x行
shell
#变量赋值

i=$(($i+1))

cha=`expr $time_out - $time_in`

time_in=$(awk 'NR=='$i'{print}' in.txt | cut -d ' ' -f 4)
例子
#in.txt和out.txt是两个文件,行数一样,对应的每一行要做差,求和,求平均
#因为每一行并不是一个数字,所以还用了cut取对应字段
#txt数据如下:
#wxhu in 1 1650361792047432
#wxhu in 2 1650361792055570
#wxhu in 3 1650361792064005
#wxhu in 4 1650361792080604
#wxhu in 5 1650361792089017
#wxhu in 6 1650361792105565
#wxhu in 7 1650361792113939
#wxhu in 8 1650361792130474
#wxhu in 9 1650361792138858
#wxhu in 10 1650361792155392
#...

#!/bin/sh
i=1
sum=0
avg=0
cha=0
while read LINE
do
        #echo $i
        time_in=$(awk 'NR=='$i'{print}' in.txt | cut -d ' ' -f 4)
        time_out=$(awk 'NR=='$i'{print}' out.txt | cut -d ' ' -f 4)
        #echo `expr $time_out - $time_in`
        cha=`expr $time_out - $time_in`
        sum=`expr $sum + $cha`
        #echo $time_in
        #echo $time_out
        #echo $cha
        #echo $sum
        i=$(($i+1))
done < in.txt
echo end==========
echo sum:$sum i:$i avg:`expr $sum / $i`

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828291.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号