一起来看看这个可耻的脚本吧

本文介绍了一个Bashshell脚本,它解析文本文件中的特定行,如Runstatusgroup和bw=,记录读写速率(Mib/s和Kib/s),用于监控和收集性能数据。
摘要由CSDN通过智能技术生成

#!/bin/bash
cd $1
rm colloct.txt

step1() {
    line_num=0
    while read line; do
        ((line_num++))
        if [[ $line == *"Run status group"* ]]; then
            break
        fi
    done

    read next_line
    read next_line2
    if [[ $next_line2 == *"WRITE:"* ]]; then
        echo -n "read-write " >> colloct.txt
        if [[ $next_line == *"Mib/s"* ]]; then
            echo -n Mib/s- >> colloct.txt
        elif [[ $next_line == *"Kib/s"* ]]; then
            echo -n Kib/s- >> colloct.txt
        else
            echo -n : >> colloct.txt
        fi

        if [[ $next_line2 == *"Mib/s"* ]]; then
            echo -n Mib/s: >> colloct.txt
        elif [[ $next_line2 == *"Kib/s"* ]]; then
            echo -n Kib/s: >> colloct.txt
        else
            echo -n : >> colloct.txt
        fi

    else
        if [[ $next_line == *"WRITE:"* ]]; then
            echo -n "write " >> colloct.txt
        else
            echo -n "read " >> colloct.txt
        fi
        if [[ $next_line == *"Mib/s"* ]]; then
            echo -n Mib/s: >> colloct.txt
        elif [[ $next_line == *"Kib/s"* ]]; then
            echo -n Kib/s: >> colloct.txt
        else
            echo -n : >> colloct.txt
        fi
    fi
    echo >> colloct.txt

}

step2() {
    first=0
    while read line; do
        ((line_num++))
        if [[ $line == *"Run status group"* ]]; then
            if [[ $first -eq 0 ]]; then
                first=1
            else
                echo -n 、 >> colloct.txt
            fi
            echo hahahah
            read next_line
            if [[ $next_line == *"bw="* ]]; then
                bw=$(echo $next_line | grep -o 'bw=[0-9.]\+' | awk -F'[= ]' '{print $2}')
                echo -n $bw >> colloct.txt
            fi
            read next_line2
            if [[ $next_line2 == *"WRITE:"* ]]; then
                echo -n - >> colloct.txt
                if [[ $next_line2 == *"bw="* ]]; then
                    bw=$(echo $next_line2 | grep -o 'bw=[0-9.]\+' | awk -F'[= ]' '{print $2}')
                    echo -n $bw >> colloct.txt
                fi
            fi
        fi
    done
    echo >> colloct.txt
    echo >> colloct.txt
}

for file in *
do
    if [ -f "$file" ]
    then
        echo "$file:" >> colloct.txt
        exec < $file
        step1
        exec 3<&- 
        exec < $file
        step2
        exec 3<&- 
    fi
done

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 我可以为您编写一个简单的Python脚本来制作烟花的图案,它将绘制一个由烟花组成的圆形图案。 要创建这个脚本,您需要安装Python和一个可以绘制图形的库,比如matplotlib。 首先,使用matplotlib绘制一个圆形,然后在圆周上放置多个烟花。 为了使它更有趣,您还可以添加一些彩色的烟火效果。 ### 回答2: 烟花是大多数人喜爱的庆祝活动特色之一。我们可以用Python编写一个简单的烟花脚本,用于在终端上显示烟花效果。 首先,我们需要导入time和random模块以及sys模块。 import time import random import sys 然后,我们可以定义一个函数draw_fireworks,用于绘制烟花效果。在函数内部,我们使用循环来逐行绘制烟花的不同部分。我们可以使用"*"符号表示烟花的星星,"-"符号表示烟花的尾迹。 def draw_fireworks(): for i in range(10): print(" " * random.randint(1, 50) + "*" * random.randint(1, 10)) time.sleep(0.1) print("-" * random.randint(10, 30)) 接下来,我们可以在脚本的主函数中调用draw_fireworks函数来展示烟花效果。我们可以询问用户是否想要再次观看烟花,并根据用户的选择决定是否继续运行脚本。 def main(): while True: draw_fireworks() replay = input("是否继续观看烟花?(Y/N)") if replay.lower() != "y": break if __name__ == "__main__": main() 运行脚本后,它会在终端上显示一系列的烟花"爆炸"效果。每个烟花效果之间有一个简单的尾迹,用户可以选择是否继续观看烟花。 这只是一个简单的烟花脚本示例,你可以根据自己的需要进行改进和扩展,比如添加不同颜色的烟花、播放音效等。实践中,你可能还需要使用更高级的图形库来创建更真实和更复杂的烟花效果。 ### 回答3: 下面是一个关于烟花的Python脚本: ```python import random from time import sleep def explode(x, y): print(f"烟花在位置 ({x}, {y}) 爆炸!") def launch_firework(): height = random.randint(10, 20) speed = random.uniform(0.5, 2.0) direction = random.uniform(0, 360) x = random.randint(0, 100) y = 0 print(f"发射烟花!初始位置 ({x}, {y}),高度:{height},速度:{speed},方向:{direction}度。") while y < height: x += speed * direction # 移动水平位置 y += speed # 移动竖直位置 sleep(0.1) # 暂停0.1秒,模拟烟花上升过程 print(f"烟花位置:({x}, {y})") explode(x, y) launch_firework() ``` 在这个脚本中,我们使用`random`库来生成烟花的初始位置、高度、速度和方向。然后,我们使用一个循环来模拟烟花上升的过程,每次循环更新烟花的位置,并使用`sleep`函数来暂停0.1秒,使烟花看起来像是缓慢上升。当烟花到达指定的高度时,调用`explode`函数模拟烟花爆炸的效果,函数会输出烟花在爆炸时的位置。最后,我们调用`launch_firework`函数来发射烟花。 请注意,这只是一个简单的示例脚本,烟花的路径和爆炸效果可能需要更复杂的算法和绘图技术来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值