awk を使用して、ファイル内の複数の文字列を置き換えようとしています。置き換えて削除する必要がある一連の行が繰り返されています。たとえば、ファイルには
INSTANCE "INVX1":"physical"
"A" : "reset"
"Y" : "pp_resetbar"
INSTANCE "INVX1":"physical"
"A" : "reset"
"Y" : "pp_resetbar"
INSTANCE "INVX1":"physical"
"A" : "reset"
"Y" : "pp_resetbar"
最初の2つを変更/置換し、3番目、4番目、...、N番目を削除したい
INSTANCE "INVX1":"physical"
"A" : "reset"
"Y" : "pp_resetbar_b"
INSTANCE "BUFX2":"physical"
"A" : "pp_resetbar_b"
"Y" : "pp_resetbar"
正直なところ、どこから始めればよいかさえわかりません。N 番目のオカレンスを置き換えるスクリプトを作成しましたが、うまくいかないようです。下記参照。どんな助けでも大歓迎です。
awk -v search=$2 -v replace=$3 -v cnt=$4 '$0 ~ search{c++;if(c==cnt){sub(search,replace);}}1' "$file" > temp && mv temp "$file"