我想執行使用AWK 2個分裂(我有2場分離器),數據的我的工作看起來像類似這樣的字符串:多分裂在AWK
data;digit&int&string&int&digit;data;digit&int&string&int&digit
正如你所看到的外部字段分隔符是分號,嵌套字符是&符號。 我正在使用awk做的是(假設該字符串將是一個變量名爲test)
echo ${test} | awk '{FS=";"} {print $2}' | awk '{FS="&"} {print $3}'
這應該抓住「串」字,但由於某種原因,這是行不通的。 它看起來像第二個管道沒有被應用,因爲我只看到第一個awk函數的結果 有什麼建議嗎?
這個問題並不需要產生兩次解釋器。 'BEGIN'塊也可以用來代替'-F'。 – jordanm
@jordanm:Re:「這個問題不需要兩次產生翻譯」:是的。我的回答非常明確地指出其他答案(兩次沒有稱爲「awk」)給出了工作方案,我唯一的目標是解釋OP的命令出了什麼問題。因此,我的目標是對OP的命令做出最小*改變,以解決問題,因爲這是解釋問題的最明確的方式。 (你不同意?)Re:「BEGIN」塊也可以用來代替'-F'「:好點。我會編輯我的答案來提及這一點。 – ruakh