Como posso adicionar uma barra invertida usando sed? [duplicado]

0

Eu quero adicionar uma barra invertida \ impressa entre Hello e World na linha de comando usando sed . Deve mostrar a saída Hello \ World .

O que tenho que fazer?

    
por Garry14 22.04.2018 / 08:42

3 respostas

2

Se você tiver um arquivo chamado hw contendo Hello World , o comando sed seria:

sed 's/ / \ /' hw

Isso exibe o resultado desejado na tela. Se você quiser editar o arquivo, adicione -i :

sed -i 's/ / \ /' hw

O comando substitui o espaço por espaço \ espaço. Você precisa de dois \ porque \ é um caractere de escape.

    
por muclux 22.04.2018 / 08:52
1

Eu usei um arquivo de texto contendo os textos Hello World e com este comando sed:

sed 's/Hello/Hello \/' helloworld.txt

E a saída é:

Hello \ World

Nota: isso também pode ser usado:

sed 's/World/\ World/' helloworld.txt

O comando sed encontra o texto Hello e adiciona um \ à frente e gera o resultado visto. O \ escapa do \ , então é visto como um caractere% real (literal) \ .

    
por George Udosen 22.04.2018 / 08:53
-3

Eu usei \ no final do código assim:

sed -i -r "Hello \ World \" mytext.txt 

Isso resultou em Hello \ World , conforme desejado. Mas obrigada, tudo.

    
por Garry14 22.04.2018 / 09:20