我正在bash
文件上执行包含10,000行的txt
脚本。
而不是split
一个文件到每个1000行的单个文件并在这些分割上执行我的循环,我想一次读取1000行并运行一个函数,然后读取接下来的1000行和等等,直到文件被读取。
我尝试了head
该文件,然后sed
这些行无效。
非常感谢任何帮助
答案 0 :(得分:0)
您可能希望将各个块传递给您的函数。使用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