Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255

    Piccolo script bash per estrarre righe casuali

    Ho un file txt con 300000 parole (una wordlist) una su ogni riga, mi sapete dare una mano per creare uno script bash che ne estragga un tot numero ...
    Grazie

  2. #2
    Si usa come:

    codice:
    ./estrai [FILE] [NUMERO PAROLE]
    codice:
    #!/bin/bash
    
    FILE=$1
    WORDS=$2
    
    [ -z "$FILE" ] && {
          echo '**E il file?'
          exit 1
    }
    
    [ -z "$WORDS" ] && {
          WORDS=1
    }
    
    LINE=$(wc -l ${FILE} | awk '{print $1}')
    
    for i in $(seq 1 ${WORDS}); do
          NLINE=0
          while [ "$NLINE" == "0" ] ; do
                NLINE=$((RANDOM%LINE))
          done
          sed -n "${NLINE},${NLINE}p" $FILE
    done
    Ogni volta che lo lanci estrai dal file (primo parametro) il numero di parole (righe) che vuoi (secondo parametro). es

    codice:
    ./estrai /usr/dict/words 65

    E` abbastanza efficiente, anche se si potrebbero accorpare i vari sed.. ciao.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  3. #3
    Utente di HTML.it L'avatar di moskitoita
    Registrato dal
    Feb 2004
    Messaggi
    1,255
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.