Não consigo executar o comando sed mais básico na linha de comando

Não consigo executar o comando sed mais básico na linha de comando

Eu me sinto como um novato total. Por que isso não funciona?

$ echo foobar > textfile
$ sed /foo/bar/ textfile
sed: can't find label for jump to `ar/'

Eu também tentei sed "/foo/bar/" textfileand sed '/foo/bar/' textfile, que gera o mesmo erro.

Usando o Ubuntu 8.04 e o GNU sed versão 4.1.5 através do bash.

Responder1

Experimente isto: sed 's/foo/bar/' textfile.

  • As citações ao redor da declaração são uma boa prática
  • spara substituto. É o comando que você deseja executar. fooé o termo de pesquisa bara substituição.

Há muitas informações sobre sed online. Por exemplo.:http://www.catonmat.net/blog/sed-one-liners-explained-part-one/

Responder2

Você precisa dar sedum comando; ele analisou o que você forneceu como padrão de pesquisa /foo/seguido pelo comando b ar/(ramificação para label ar/). Você provavelmente quis dizer 's/foo/bar/' significando substituir a primeira instância de foopor barem cada linha.

informação relacionada