使用while循环,我正在读取一个文件,例如:
string1
string2
string3
string4
string5
string6
发生的事情是因为我在while循环的第一次迭代中读取了string1和string2,第二次迭代从string3开始,第三次迭代从string5开始……等等
我试着寻找可能的标志,读可能有,似乎不是这样的情况。我也试过$Line1=$Line2,希望能指定我想读哪一行
这是我的循环看起来。。。
while read line1
do
read line2
done
我在循环的第一次迭代中阅读了string1和string2,在我的第二次迭代中我想阅读循环的string2和string3,循环的第三次迭代string3和string4等等……有没有办法指定我想阅读哪一行?有没有办法读取前一行或“重置”我的读取指针,返回?
最佳答案
您可以通过存储前一行来完成。
#!/bin/bash
prev=
while read line
do
if [ ! -z "${prev}" ];then
line1="${prev}"
line2="${line}"
echo "${line1} ${line2}"
fi
prev="${line}"
done
string1 string2
string2 string3
string3 string4
string4 string5
string5 string6