erro no comando sed

0

Eu uso o comando abaixo para arquivos anteriormente e ele funciona perfeitamente mas agora ele gera erro abaixo ou avisa a saída desejada é uma lista de 82 nomes mas esse código dá 88 eu tento analisar o arquivo de saída 95% dos nomes são a / c para a saída desejada, mas os restantes poucos não são. (Este código é basicamente para encontrar o arquivo B [contém apenas nomes] no fileA [que contém nomes e seus ids]):

while read -r line; do sed -n "/$line/,/^C/p" fileA| sed '$d';done<fileB>fileC 
sed: -e expression #1, char 16: extra characters after command
    
por Rhea 02.06.2017 / 08:36

1 resposta

1

Você deve escapar de qualquer caractere especial vindo da sua linha de leitura. Por exemplo, se a linha $ contiver caracteres como / \ "{} ... sua expressão sed se desfaz.

Veja este post para algumas mágicas que escapam: link

    
por Simon Sudler 02.06.2017 / 09:20