GNU sed , Sim, tem essa opção para substituir todas as g ocorrências de um patten ou da Xth ocorrência para todas depois de gX , mas você pode usar essas duas extensões para obter apenas o que deseja substituir primeiro Y ocorrências como abaixo para substituir as primeiras 3 ocorrências de PATTERN.
sed -E 's/PATTERN/TEMP-REPLACE/g4; s/PATTERN/REPLACE/g; s/TEMP-REPLACE/PATYERN/g' infile.txt
Também como solução não-GNU, você pode ter Y sed parts para substituir Y vezes de um PATTERN como abaixo,
sed -E -e 's/PATTERN/REPLACE/' -e 's/PATTERN/REPLACE/' -e 's/PATTERN/REPLACE/'
Resposta atualizada como pergunta revisada
Você pode usar awk com a definição de dois sinalizadores de controle para START e END e faça o seguinte:
awk -v START=1 -v END=5 '{for (i=START;i<=END;i++) gsub(/PATTERN/,"****",$i)}1' infile.txt
por favor note que por padrão awk considerando ler arquivos delimitados por aba ou espaço , se a sua for diferente ou quiser informar o awk é por exemplo , , você pode definir com sua opção -F',' .