ファイルの最後の2行を長さ2の配列で読み込もうとしています。ファイルの最後の2行をBashの長さ2の配列に読み込む方法は?
ファイルa.txt
bar
second line
hello world
foo bar fubar
を考えるIは
lines=($(tail -n 2 a.txt))
を試みたが、これは、それぞれが単一の単語を含む、長さ5の配列をもたらします。私は投稿Creating an array from a text file in Bashを読むが、そこから最後の2行だけを読むことに失敗する。効率(実行時間)は私のニーズにとって重要であることに注意してください。
私はかつて、次の試してみて、これがあなたを助けている場合、私に知らせて、ターミナル2.6.1
Hum ....私はMAC上でTerminal version 2.6.1(情報が投稿時に編集されています)( 'GNU bash、version 3.2.57(1)-release(x86_64-apple- darwin15) ')。残念ながら、私はmapfileを組み込んでいません。とにかくありがとう –
@ Remi.b:古いバージョンでも動作するはずのアップデートをチェックしてください! @ Reim。 – Inian
b:2つの 'read'文を使います:' lines =(); {IFS =読み取り-r '行[0]'; IFS =読み取り-r '行[1]'; } <(テール-n2ファイル) '。 –