Apenas não use -i
para edição no local, especialmente se você estiver experimentando algo ou desenvolvendo algum script. Em vez disso, sempre grave em um arquivo temporário. Em seguida, verifique o arquivo para ver se está tudo bem e, possivelmente, substitua o arquivo original por ele.
A opção -i
não é padrão e é horrivelmente não portátil entre sed
implementações.
A maneira portátil de alterar um arquivo usando sed
é
sed 'expression' file >newfile && mv newfile file
awk
não tem o mesmo problema. Nenhum de% GNUawk
, mawk
ou nawk
suporta edição no local (o que realmente não é algo que muitas vezes se deseja fazer com awk
), portanto o problema de executar acidentalmente o mesmo awk
script sobre um arquivo duas vezes (e obtendo o dobro do "efeito" de editar o arquivo) raramente aparece.