我想讀取長度爲2的數組中文件的最後兩行。如何在Bash中將文件的最後兩行讀入長度爲二的數組?
考慮文件a.txt
bar
second line
hello world
foo bar fubar
我試圖
lines=($(tail -n 2 a.txt))
但這會導致長度5的數組,每個包含一個字。我讀了Creating an array from a text file in Bash的帖子,但沒能從那裏讀到最後兩行。請注意,效率(執行時間)對我的需求至關重要。
我在Mac OS X上使用終端2.6.1
嗡嗡聲....我在MAC上使用終端版本2.6.1(信息編輯後)('GNU bash,版本3.2.57(1) - 釋放(x86_64-蘋果 - darwin15)')。不幸的是我沒有mapfile內置的。無論如何感謝 –
@ Remi.b:檢查我的更新應該也適用於舊版本! – Inian
@Remi。b:然後使用兩個'read'語句:'lines =(); {IFS =讀取-r'行[0]'; IFS =讀取-r'行[1]'; } <(尾部-n2文件)'。 –