Você tem erro sintático. Não pode haver espaço após -i
, apenas a extensão; esta é a fonte da mensagem de erro (inicial).
Além disso, para remover uma linha baseada em um padrão, você precisa de /<pattern>/ d
com sed
(existem outras abordagens, mas esta é a mais limpa). Então faça:
sed -i".bak" '/set -x/ d' "$(which tsc)"
Opcionalmente, como a extensão de backup não contém nenhum espaço em branco ou caracteres de controle, você pode sair sem aspas neste caso:
sed -i.bak '/set -x/ d' "$(which tsc)"