以下腳本似乎替換每個第二個實例。 - 任何想法如何調整awk命令,使其僅替換第二個實例一次?如何用awk替換第二個實例一次
腳本位置,是指一個名爲basicTest.jmx文件,其中包含以下TXT
hashTree
hashTree
hashTree
hashTree
hashTree
hashTree
hashTree
這裏的腳本:
scriptLocation="basicTest.jmx"
myVar="FOOO__BARRRR"
awkOut=$(awk -v s='hashTree' -v myVar="$myVar" '$0~s{c++} c==2{sub(s, myVar); c=0} 1' "${scriptLocation}")
echo "$awkOut" > $scriptLocation
這是我所需要的輸出看起來像:
hashTree
FOOO__BARRRR
hashTree
hashTree
hashTree
hashTree
hashTree
這是目前的錯誤輸出:
hashTree
FOOO__BARRRR
hashTree
FOOO__BARRRR
hashTree
FOOO__BARRRR
hashTree
您確定您必須在腳本中重置c = 0嗎? –
我刪除了C = 0和嘿賓果它工作 - 謝謝 – user1654528