Простое решение в awk
будет:
awk '{while(sub(/[iI][Ss]/,"X-"count++)){a=""};count=""} 1' Input_file
ИЛИ согласно комментарию сэра Анубхавы, добавив приведенную выше более короткую версию кода:
awk '{while(sub(/[iI][Ss]/,"X-"count++));count=""} 1' Input_file
Простое объяснение будет, запустить al oop до тех пор, пока не будет найдена подстановка и буквально ничего не делать внутри нее :) напечатать строку наконец.