Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    problema lettura nome file e DB

    ciao,

    avrei bisogno di qualche dritta per risolvere alcuni problemi.
    Devo collegarmi ad una macchina Linux (versione debian) a una macchina windows (per questo posso usare samba). Su questa macchina c'è una cartalla condivisa, al suo interno ci sono altre sottocartelle. Mi metto in una di queste. Ci sono una serie di file, voglio leggere il nome di ciascun file, catturarlo e confrontarlo con i nomi dei file presenti in un database mysql. Se il nome del file è presente nel database deve andare avanti, se non lo incontra deve copiarlo in una dir prestabilita. Il tutto, ho pensato, poò essere realizzato usando uno script bash: l'accesso al DB può essere fatto da riga di comando all'interno dello script..però non so come fare per la lettura del nomefile all'interno delle dir sulla macchina windows per poi confrotarlo con i dati dal database. Ho cercato qualcosa del tipo awk ma non ho capito se può andare bene al caso mio..se si allora come faccio fargli leggere tutti i nomi dei file, uno per volta, senza dire io ogni volta il nome del file??
    Grazie per l'aiuto che spero di ricevere!!!
    PeppePegasus

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    Guarda in firma: siamo allo scripting bash avanzato...
    Cmq. con awk e un ciclo for te la dovresti cavare. Per l'interrogazione al DB non so se mysql prende SQL complessi da riga di comando. In caso ricorda che echo -e gestisce caratteri speciali come i ritorni a capo, utile per inviare piu' istruzioni sql con un unico comando.

  3. #3
    Il problema è che non so come dare l'istruzione di awk per fargli leggere ogni volta il nome file come dicevo! Mi sarà molto utile la guida di calabrialinux. grazie.
    PeppePegasus

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    codice:
    for i in miadir/*; do echo $i; done
    Sicuramente una guida, calabra o meno, risulterebbe utile. Anche man bash, se vogliamo.

  5. #5
    Ho fatto una prova con un comando del tipo:

    ls -l | awk '$8=Mio Materiale {print$0}'

    seguendo un esempio che ho trovato in una gida..però non mi stampa nulla, nonstante ci sono file che si chiamano Mio Materiale. sto verificando la corretta installazione di awk. Che ne dite di un comando simile, va bene per il mio scopo?
    ciao.
    PeppePegasus

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    a) hai provato come ti ho detto io?
    b) non ti stampa nulla perche' quel che hai scritto non ha senso: la sintassi più vicina a qualcosa di ragionevole è
    codice:
    ls -l| awk '{print $0}'
    c) oltre che man bash, anche man awk potrebbe tornare utile.

  7. #7
    Posto qui anche se non riguarda il problema degli altri post, anche se è in relazione..
    In un file bash devo fare il collegamento a una macchina win tramite samba da macchina linux..il collegamento va bene con il comando:

    smbclient //sodar/sodar -Uutente%password

    ma una volta eseguito questo comando mi appare il prompt della macchina windows, come faccio a chiudere la connessione? Ho inserito nel programma bash un exit (necessario alla chiusura del collegamento) ma una volta uscito il prompt di win devo digitarlo da lì.
    Inoltre una volta entrato sulla macchina windows devo eseguire il comando awk che dicevo negli altri post e devo anche eseguire delle copie di file..come posso fare se li voglio sempre dare nel programma bash?
    suggerimenti ben accetti.
    grazie.
    PeppePegasus

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    http://www.manpagez.com/man/1/smbclient/
    accessibile anche da console via "man smbclient"
    cmq. tra le prime 10 righe si trova:
    codice:
           smbclient    [-b <buffer size>]   [-d debuglevel]   [-L <netbios name>]
            [-U username] [-I destinationIP] [-M <netbios name>]  [-m maxprotocol]
            [-A authfile]    [-N]   [-i scope]   [-O <socket options>]   [-p port]
            [-R <name resolve order>] [-s <smb config file>] [-k]  [-P]  [-c <com-
            mand>]

  9. #9
    Ho provato con questo comando da bash

    mount -t smbfs -o //sodar/sodar -U username=user,password=pwd //sodar/Archive/media/windprofile

    ma mi dice

    mount: no such partition found

    che problema è? sbaglio qualcosa..e cosa?
    grazie.
    PeppePegasus

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    225
    Chissa' per quale motivo mi ostino a rispondere alle richieste di aiuto...

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