awk -F '|' -v OFS='|' '$16 == "Market1" { $16 = "MarketPrime" }1' file.csv >new-file.csv
O único problema real em seu código é que você defina o separador de arquivos de entrada para não apenas | , mas também para espaços. Isso fará com que os espaços sejam contados como separadores de campo nos dados e será incrivelmente difícil descobrir qual é o número do campo correto (já que alguns campos contêm um número variável de espaços).
Você também não pode redirecionar para o mesmo nome de arquivo usado para ler. Isso faria com que o shell truncasse primeiro (vazio) o arquivo de saída, e seu programa awk não teria dados para ler.
Seu código faz uma substituição de expressão regular. Está tudo bem, mas você precisa estar ciente de que se o 16º campo for algo como Market12 ou TheMarket1 , ele acionaria a substituição devido aos pontos de ancoragem ausentes. Seria mais seguro usar ^Market1$ como a expressão a ser substituída ou usar uma comparação de string.
O comando awk acima usa apenas | como um separador de campo e faz uma comparação com o 16º campo. Se esse campo for Market1 , ele será definido como MarketPrime .
O trailing 1 no final do código awk faz com que todos os registros (modificados ou não) sejam impressos.