+ Responder ao Tópico



  1. #1
    doidoht
    Visitante

    Padrão Coisa simples - script shell

    Galera... preciso de um comando que me mostre apenas a linha X de um arquivo...

    tipo

    arquivo
    Código :
    aaaaaaaaaa
    bbbbbbbbbb
    cccccccccc
    dddddddddd
    eeeeeeeeeeee

    preciso de um comando que imprima somente a linha 3 em específico indicando o número da linha pelo número... tipo... imprima linha 3... imprima linha 4 etc...

    Valeu..

  2. #2

    Padrão Coisa simples - script shell

    vc pode usar um conjunto de comandos
    nl arquivo > exibe o arquivo numerado, ai usa grep junto etc...

    ou entaum com cat -n NUMERO faz a mesma coisa do nl

    ou ainda usando head e tail

    tipo

    head -n 20 arquivo | tail -n 1

    mostra a linha 20
    jogando esse esquema num script:
    cat > script.sh << EOF
    #!/bin/bash
    LINHAS=$1
    ALVO=$2

    head -n $LINHAS | tail -n $ALVO
    EOF

    e executa ele:
    ./script.sh 20 1

  3. #3
    doidoht
    Visitante

    Padrão Coisa simples - script shell

    blz 1c3_m4n

    cara... esse script seu eu já fiz aqui mas não funfa não sô....

    olha só... head -n 20 vai exibir as 20 primeiras linhas... e o tail -n 1 vai exibir a ultima linha dessas vintes.... num funfa... tô precisando de imprimir uma linha em espcifico... tipo quero a linha 6 ou a linha 10 etc....

    Valeu pelo help...

    Quem puder me dar um help aí...



    Citação Postado originalmente por 1c3_m4n
    vc pode usar um conjunto de comandos
    nl arquivo > exibe o arquivo numerado, ai usa grep junto etc...

    ou entaum com cat -n NUMERO faz a mesma coisa do nl

    ou ainda usando head e tail

    tipo

    head -n 20 arquivo | tail -n 1

    mostra a linha 20
    jogando esse esquema num script:
    cat > script.sh << EOF
    #!/bin/bash
    LINHAS=$1
    ALVO=$2

    head -n $LINHAS | tail -n $ALVO
    EOF

    e executa ele:
    ./script.sh 20 1

  4. #4

    Padrão Coisa simples - script shell

    eh exatamente esse o ponto so script usar $1 e $2
    se vc quer a linha 6
    ./script.sh 6 1

    se quer a 15

    ./scrit.sh 15 1

    eh meio gambiarra, mas num conheco outra maneira, talvez o sed faça isso

    alias da pra da uma melhorada no script e usar soh $1

    definindo o ALVO=1
    ai vc soh especifica qual linha vc quer

  5. #5
    doidoht
    Visitante

    Padrão Coisa simples - script shell

    boa boa....

  6. #6
    whinston
    Visitante

    Padrão coisa linda

    Citação Postado originalmente por doidoht
    boa boa....
    aqui funcionou que foi coisa linda!
    pegando a onda, como eu faria 1 script pra lista oq tiver num diretorio X, tiver extensao .sh, for executavel (permissao) e ser maior que 5Kb ?

  7. #7

    Padrão Coisa simples - script shell

    com o find vc consegue especificar esse tipo de informação

    tipo

    find opcoes $DIR -name *.sh

  8. #8

    Padrão Coisa simples - script shell

    sed -n -e '<numero_linha>p' arquivo

    ou até....

    nl arquivo | grep ^<numero_linha>


    Simples e facil, hehee :P