其他东西而不是 Speed up bash script while loop [closed]

Something else instead of Speed up bash script while loop [closed]

提问人:Jaansi 提问时间:8/23/2023 最后编辑:Jaansi 更新时间:8/23/2023 访问量:87

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

3个月前关闭。

使用 while 循环读取大小超过 5GB 的文本文件并处理数据需要很长时间。 我想知道是否有更有效的方法。

在stackoverflow上搜索,有人说可以使用awk,但我不知道如何应用。

帮助

   inputFlowName=( $@ ) 
        for filename in "${inputFlowName[@]}"; do
            echo "$filename"

                while read line; do

 

                  IFS=':' read -ra Data<<< "$line" 
                  FlowA=${Data[6]}
                  FlowB=${Data[7]}
                
             done < $filename
        done 

输入日志

Aug  9 20:49:54 exam:  yes    A:1:0:12344:55555:xxx
Aug  9 20:50:00 exam:  yes    A:1:0:12345:55554:xxx
Aug  9 20:50:06 exam:  yes    A:1:0:12346:55553:xxx
Aug  9 20:50:12 exam:  yes    A:1:0:12356:55552:xxx
Aug  9 20:50:18 exam:  yes    A:1:0:15321:55551:xxx

输出日志

Aug  9 20:49:54 :12344:55555
Aug  9 20:50:00 :12345:55554
Aug  9 20:50:06 :12346:55553
Aug  9 20:50:12 :12356:55552
Aug  9 20:50:18 :15321:55551
bash shell unix awk while-loop

评论

0赞 user1934428 8/23/2023
我很难理解句子中的英语,如果使用而不是 while 语句,效率会提高。是否要用 efficiency 替换 while 语句?
0赞 Jaansi 8/23/2023
@user1934428是的......
1赞 user1934428 8/23/2023
你不能用抽象概念(效率)代替句法结构()。这个要求没有意义。while
0赞 Jaansi 8/23/2023
@user1934428 改了句。
1赞 Verpous 8/23/2023
如果你不知道如何使用awk,那就去学习吧。有很多教程。如果你熟悉一般的编程语言,你可以在几个小时内学会翻译这个脚本所需的内容。

答: 暂无答案