2017-02-24 42 views
2

這是我正在使用的文件的內容。如何在awk中使用FS an RS的內置變量?

<Overall>1 
<Value>2 
<Rooms>3 
<Location>4 

<Overall>5 
<Value>6 
<Rooms>7 
<Location>8 

我試圖

awk ' BEGIN{ FS="<.*>"; RS=""; } { print $2 } ' $1 

所需的輸出

1 
5 

實際輸出

4 
8 

有人能指出其中的錯誤是什麼?

+3

嘗試'FS =「<[^>] +>」' –

+0

..或嘗試添加一個更強大的'FPAT' – Inian

+0

它的工作,謝謝很多先生。 –

回答

2
awk ' BEGIN{ FS="<[^>]+>"; RS=""; } { print $2 } ' inputfile 

FS值修改爲FS="<[^>]+>"。或者如Inian所建議的那樣,使用FPAT來定義字段內容。

<[^>]+>意味着,<其次是任何(一個或多個)不等於>直到>