我正在对包含 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