2011/8/2 Wenderson Souza <[email protected]>: > Amigos, > > Ja googlei, man sed, etc etc. > > Mas estou tendo dificuldades com algo que eu acho até fácil, mas não > sei o que está havendo. > > Preciso remover a primeira linha de um arquivo (dentro de um script > sh) com o sed. > > Sei que fica chato ficar comparando, mas no linux eu usava assim: sed > -i 1d /meu/arquivo para remover no mesmo arquivo > > No FreeBSD vi que tenho que fazer assim: sed -i '1 d' /meu/arquivo > entre aspas e com espaco entre o 1 e o d > > > O interessante é: > > Se eu fizer o comando sem o -i (editar no próprio arquivo) funciona, > mas ai tenho que jogar o resultado para /meu/arquivo1 e depois dar um > mv /meu/arquivo1 /meu/arquivo, isso não fica "elegante". > > Alguma idéia de como fazer a edição direto no arquivo?
O parâmetro -i no FreeBSD tem um comportamento diferente do linux, ele exige um parâmetro com a extensão do arquivo de backup. Como você não quer um backup, deve passar uma string vazia para ele, desse jeito: # sed -i '' -e '1d' arquivo []s -- Renato Botelho ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

