John tem, na verdade, respondeu a maior parte da sua pergunta. No entanto, notei que você pretende fazer uma edição no local fornecendo a opção -i
para sed
. Note que esta opção leva um argumento opcional SUFFIX. Se SUFFIX for fornecido, um backup do arquivo de entrada será feito adicionando SUFFIX ao seu nome. O problema mais provável na sua linha de comando é que a letra 'r' em -ir
é interpretada como o sufixo de backup, em vez de uma opção separada -r
. Para obter o efeito desejado (quando você não pretende fazer backup de arquivos durante a edição no local), não combine outras opções com -i
(ou certifique-se de que i
sempre seja o último):
# All these do the same thing (in-place editing using extended regular expressions)
sed -r -i ...
sed -i -r ...
sed -ri ...
# This one backs up input files by appending the letter 'r' to their names
# (and DOES NOT use extended regular expressions)
sed -ir ...