2015-10-27 31 views
0

我有以下形式的字符串:字符串分割到使用bash/AWK陣列

"\nFIRST_ITEM\nSECOND_ITEM\nTHIRD_ITEM\n" 

當試圖用awk它拆分成像這樣的陣列,

echo "\nFIRST_ITEM\nSECOND_ITEM\nTHIRD_ITEM\n" | awk '{split($0,a,"\n")}' 

整個字符串只是按原樣存儲到[1]中。有人可以解釋爲什麼會發生這種情況,以及如何解決它?

回答

0

你可以用bash做到這一點:

a="\nFIRST_ITEM\nSECOND_ITEM\nTHIRD_ITEM\n" 
a=(${a//\\n/ }) 

它取代了每個\n有空間。

1

這不是從你的問題不清楚,但這個可能是你在找什麼:

$ echo "\nFIRST_ITEM\nSECOND_ITEM\nTHIRD_ITEM\n" | 
    awk '{split($0,a,/\\n/); for (i=1;i in a;i++) print i, "<" a[i] ">"}' 
1 <> 
2 <FIRST_ITEM> 
3 <SECOND_ITEM> 
4 <THIRD_ITEM> 
5 <> 

假設你的迴音輸出\n爲字符串\n,而不是一個換行符。