Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    prendere dati da file di testo

    Ciao! Help per una prova d'esame:
    qualcuno sa come prendere dati da un file di testo e mandarli in in input ad un altro comando, esempio useradd?
    Cioè, io in un file ho i nomi degli utenti, non è specificato se sulla stessa riga separati da spazi o su diverse linee,
    e devo prendere i nomi e aggiungerli come utenti.

    Ho provato con
    less utenti.txt > useradd
    less utenti.txt | useradd
    ma niente! Ci sono strumenti al di fuori di questi per prendere l'input da un file di testo e farci qualcosa? Anche con uno script?
    Thanks very much

  2. #2

    Re: prendere dati da file di testo

    Originariamente inviato da Bloody3000
    qualcuno sa come prendere dati da un file di testo e mandarli in in input ad un altro comando, esempio useradd?
    Cioe, io in un file ho i nomi degli utenti, non e specificato se sulla stessa riga separati da spazi o su diverse linee,
    e devo prendere i nomi e aggiungerli come utenti.
    ci sono millanta modi, ma senza una specifia piu` precisa se ne potrebbe parlare per ore...

    Ho provato con
    less utenti.txt > useradd
    less utenti.txt | useradd
    mah, al limite una cosa tipo
    codice:
    cat utenti.txt | xargs useradd
    (non testato)

    oppure
    codice:
    for utente in $( cat utenti.txt ); do
    useradd $utente
    done
    anche se dubito fortemente che faccia quanto desideri

    ma niente! Ci sono strumenti al di fuori di questi per prendere l'input da un file di testo e farci qualcosa? Anche con uno script?
    Hai voglia! ma ci vogliono piu` dettagli sul cosa fare...
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  3. #3
    nello specifico per aggiungere gli utenti!

    Già che ci siamo non è che hai qualche link su questo, visto che con google non trovo e che è un argomento così trattato? (per fortuna!)

  4. #4

  5. #5
    si potrebbe fare uno script del genere

    #!/bin/bash
    utenti=$(cut lista.txt)
    for i in $utenti
    do
    useradd $1
    done

    che funziona muahahahahhaahahahahahha
    ormai so tutto muahahahahhahahah :maLOL: :maLOL:

  6. #6

    Re: Re: prendere dati da file di testo

    veramente....

    codice:
    for utente in $( cat utenti.txt ); do
    useradd $utente
    done
    ha aggiunto gli utenti, funziona sia quando li metto su linee diverse che quando li separo con uno spazio.
    Funziona anche con userdel!

    come mai dubitavi fortemente?

  7. #7

    Re: Re: Re: prendere dati da file di testo

    Originariamente inviato da Bloody3000

    ha aggiunto gli utenti, funziona sia quando li metto su linee diverse che quando li separo con uno spazio.
    Ovvio. Se vuoi esplicitare il separatore tra i valori devi usare awk.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  8. #8

    Re: Re: Re: prendere dati da file di testo

    Originariamente inviato da Bloody3000
    codice:
    for utente in $( cat utenti.txt ); do
    useradd $utente
    done
    ha aggiunto gli utenti, funziona sia quando li metto su linee diverse che quando li separo con uno spazio.
    come mai dubitavi fortemente?
    E se li separi con una virgola? e con due punti?
    E se bisogna usare opzioni per useradd?
    E se certi utenti devono stare in certi gruppi e tutti gli altri in un solo utente?

    Quella postata e` una soluzione quick & dirty, ed estremamente scarna e generica (per forza!) ad un problema generico...

    Se il problema era semplicemente "aggiungere utenti", va bene, per qualcosa di un pelino piu` complesso, no, non cosi` semplicemente almeno...
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  9. #9

    Re: Re: Re: Re: prendere dati da file di testo

    Originariamente inviato da Mutato
    Ovvio. Se vuoi esplicitare il separatore tra i valori devi usare awk.
    anche $IFS direttamente con bash
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  10. #10
    Originariamente inviato da cicciobaliccio
    si potrebbe fare uno script del genere

    #!/bin/bash
    utenti=$(cut lista.txt)
    for i in $utenti
    do
    useradd $1
    done

    che funziona muahahahahhaahahahahahha
    codice:
    $ cat utenti.txt
    pippo
    pluto
    paperino
    topolino
    minni
    rokerduck
    $ utenti=$(cut utenti.txt)
    cut: you must specify a list of bytes, characters, or fields
    Try `cut --help' for more information.
    $
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

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 © 2025 vBulletin Solutions, Inc. All rights reserved.