在发布此问题之前,我已经阅读了问题BASH read file for only N rows。但是,就我的知识水平而言,它似乎太复杂了,包括execs,delete,date等。如果主持人查看下面的代码,这非常简单,并且可以使用PHP轻松完成,但是我是bash的新手!变得更加灵活很有帮助!
我需要的只是使用bash文件处理大约10,000行。该脚本可以运行,但是在大约100行后会“杀死”服务器。因此,我尝试使用一个每100分钟可睡2分钟的循环。
我试图将列表分成100行+睡眠2m的文件。我认为有一种更好的解决方案,可以在睡眠2m时使用“循环”,仅从一个文件读取所有行。
我使用了以下代码:
#!/bin/bash
#
file=$1
while IFS= read -r line
do
-- read a line and do something
done <"file1.txt"
sleep 2m
file=$2
while IFS= read -r line
do
-- read a line and do something
done <"file2.txt"
我需要以某种方式合并此部分或类似内容:
COUNTER=0
while [ $COUNTER -lt 10000 ]; do
echo The counter is $COUNTER
if counter is multiples of 100
sleep 2m
let COUNTER=COUNTER+1
使用上述代码,仅使用一个文件(10,000行),请确保:- a)每100条线后就睡觉 b)释放服务器负载
提前谢谢