
Steve
(usa Slackware)
Enviado em 13/02/2019 - 22:50h
Estou tentando comparar 2 arquivos e remover do 2º arquivo o que eu já possuo no primeiro.
Em uma pergunta anterior que fiz, o xxxx respondeu me dando o comando abaixo, que funciona muito bem para caracteres comuns.
while read Linha; do sed -i "/^${Linha}$/d" List; done < Adblock.ini
Porém nessa lista, ela possue caracteres como: # / \ : ; ! @ . , ~ ^ $ & - = + [ ] { } | % ( ) _ ' ` " '
Entre outros que posso ter esqueçido de colocar. Então o sed gera erros e não faz o trabalho corretamente.
No terminal mostra alguns erros assim:
sed: -e expression #1, char 23: unknown command: `$'
sed: -e expression #1, char 21: unknown command: `j'
sed: -e expression #1, char 15: extra characters after command
sed: -e expression #1, char 38: expected newer version of sed
sed: -e expression #1, char 14: unknown command: `*'
sed: can't find label for jump to `anner_$/d'
sed: can't find label for jump to `anner-$/d'
sed: can't find label for jump to `anner/*$domain=~a4tech.com$/d'
sed: can't find label for jump to `anners/*$/d'
sed: -e expression #1, char 8: unknown command: `$'
sed: -e expression #1, char 26: unterminated `s' command
Como cada linha está sendo passada para o sed por variável, acredito que caracteres como PONTO ou Barra estão dando problemas entre outros claro. Já que esses caracteres precisam do ESCAPE do sed para serem aceitos!
Alguem tem alguma idéia de como posso passar isso?