使用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

08-06 00:34