2015-10-27 32 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,而不是一个换行符。