+ Responder ao Tópico



  1. #1

    Padrão Mudando linha no meio do arquivo [RESOLVIDO]

    Amigos, to com uma dúvida, vejam se podem me ajudar.

    Tenho o seguinte:
    Código :
    $ cat arquivo
    200.222.29.155 tcp 220.212.9.11:22     192.168.0.3:22'
    200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    202.222.1.1    tcp 2.210.19.129:22     192.168.0.7:22'
    Gostaria de mudar inserir o sinal de # antes da segunda linha, assim fazendo um comentário nela.

    Código :
    $ cat script1
    #!/bin/bash
    ANTES='200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    DEPOIS='#200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
     
    sed '/$ANTES/{
    $DEPOIS
    D;}' arquivo
    E quando eu executo aparece o seguinte erro:

    Código :
    sed: -e expression #1, char 13: extra characters after command

    Gostaria que o arquivo ficasse assim após executar o script:
    Código :
    $ cat arquivo
    200.222.29.155 tcp 220.212.9.11:22     192.168.0.3:22'
    #200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    202.222.1.1    tcp 2.210.19.129:22     192.168.0.7:22'
    Última edição por terra_jr; 09-05-2007 às 11:51. Razão: Resolvido o problema

  2. #2

    Padrão

    Amigos, descobri o porque de não funcionar.

    Eu tenho o seguinte arquivo:
    Código :
    $ cat arquivo
    200.222.29.155 tcp 220.212.9.11:22 192.168.0.3:22'
    200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    202.222.1.1 tcp 2.210.19.129:22 192.168.0.7:22'

    Quero que a segunda linha fiquei cometada, como eu já disse antes, então farei.

    Fiz um script assim :
    Código :
    VALOR='200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    cat arquivo | sed "s/$VALOR/#$VALOR/"
    200.222.29.155 tcp 220.212.9.11:22 192.168.0.3:22'
    #200.210.29.170 tcp 200.210.19.129:1522 192.168.0.7:1521'
    202.222.1.1 tcp 2.210.19.129:22 192.168.0.7:22'

    O problema estava nas aspas simples (' '), deve-se usar aspas duplas (" ").
    E também a syntax, foi usado outra. Vejam.

    Engraçado que eu mostrei isso para muitos profissionais e só um que está a menos de 6 meses trabalhando com linux sacou.!!!

    Bom, obrigado a todos, agradeço mesmo.
    Abraços.