更新:這個回答更加簡單,結果並不需要grep。哇,我的臉紅了!從bash輸出中獲取值
我對bash編程相當陌生,所以這可能是一個簡單的答案,但是當我的谷歌搜索出現了很多bash grep示例和很多bash數組示例時,它並沒有顯示任何內容可以弄清楚如何適應我想要做的事情。
其基本思想是我想從另一個程序的輸出的每一行中拉出一位,並將它們放入一個數組中。假設這是輸出:
_ filename1 2015-11-06
. filename2 2015-11-04
X filename3 2015-11-01
_ filename4 2015-10-22
所有內容都以空格分隔,而不是製表符分隔。
我想要做的是在bash中獲得一個數組,其中包含只是的文件名,沒有別的。所以對照這個例子運行它的結果是四項數組。我已經創建了數組,其中包含所有按空格分隔的片斷(因此包含12個項目)以及大量空陣列,但無法弄清楚如何獲取文件名。
我在不是我的升級(3.2.53(1) - 釋放)的bash的舊版本,所以readarray
不可用。
感謝您的幫助!
這是完全正確的答案。謝謝!我會相應地更新問題。 –
如果文件名*不能包含空格,這兩個選項都是唯一可行的。如果可以,那麼更仔細的解析就需要工作。 –
好點,Etan。在這種情況下,我約99.99%確定文件名不會包含空格,但我想我不能確定未來。你有更強大的建議,可以處理fileenames中的空格嗎?我很樂意從中吸取教訓! –