Bash 一次读取 1000 行文件,直到完成



我正在对包含 10,000 行的 txt 文件执行bash脚本。

与其将文件split成单独的文件,每个文件有 1000 行并在这些拆分上执行循环,我想一次读取 1000 行并运行一个函数,然后读取接下来的 1000 行,依此类推,直到文件被读取。

我尝试head文件,然后将这些行sed无济于事。

任何帮助将不胜感激

您可能希望将各个块传递给函数。 使用 while 循环喜欢这个。

i=1
chunk_file="yourfile.txt"
j=$(($i + 1000 - 1 ))
total_lines=`wc -l $yourfile | awk '{print $1}'`
#total_lines=10000
while [[ $i -le $total_lines ]]
do
echo $i,$j
sed -n "$i,$j p"  > ${chunk_file}
yourfunction ${chunk_file}
i=$(( $j + 1))
j=$(($i + 1000 - 1 ))
done

相关内容

最新更新