O IMO, usando printf para enviar comandos em ed , é melhor que sed -i .
printf '%s\n' 'g/,888,/d' 'w' | ed -s msalik.txt
O primeiro argumento a printf diz para imprimir cada argumento restante separado por novas linhas ( \n ).
Nenhum dos dois últimos argumentos realmente precisam ser citados. Acabei de citá-los como exemplo - alguns comandos ed precisarão ser citados.
Por que ed é melhor que sed -i ?
Ao contrário de ed , sed -i não faz uma edição verdadeira no local. Ele cria um arquivo de saída temporário e renomeia o original. Isso tem dois efeitos colaterais potencialmente indesejados:
-
As permissões no arquivo podem mudar devido ao umask com o qual o arquivo temporário foi criado. Até mesmo a propriedade ou grupo pode mudar se o script sed -i for executado por um usuário diferente (que tenha acesso RW apropriado ao arquivo e à pasta, é claro).
-
O arquivo de substituição terá um inode diferente. Isso vai quebrar os links físicos.