多くの行を含むファイル「input_file」から行を読み取るシェルスクリプトがあります。最初の数行は次のとおりです。
04fcgFs-mjA
0DZ7DbdeOeE
0yvHWyvexZA
1IAhDGYlpqY
1Vajuce8nyU
1Y_wJR1I-9s
2dn-ULkQl5M
2GmVajkqLNU
2X85PdfQqnM
37LAPz7pnQI
スクリプトには、次のものがあります。
while read line
do
blabla .....
done< input_file
スクリプトが偶数行を読み取ると、2 番目、4 番目、6 番目などの最初の文字が欠落するのは非常に興味深いことです。たとえば、2 行目を読み取ると、取得される文字列はDZ7DbdeOeE
ではなく0DZ7DbdeOeE
です。
私は次のものだけで簡単なスクリプトを書こうとしました:
while read line
do
echo $line
done< input_file
その後、正しく読み取ることができます0DZ7DbdeOeE
。
私のシェルスクリプトは非常に長いので、ここには掲載しませんが、内部のコードは「input_file」とは何の関係もないと思います。ところで、次のようなブロックがいくつかあります
if [condition]
continue
fi
では、この現象の潜在的な原因は何かを知りたいだけですか? とても奇妙です!
スクリプトの内容を次のリンクに投稿しました: http://goo.gl/Iwory