Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Shall di LINUX

  1. #1

    Shall di LINUX

    Ciao ragazzi mi serve fare una shall con LINUX e mi serve un aiuto.

    Ho la seguente necessità:

    Devo creare una shall che mi permette di andare a leggere file .txt dove all'interno preciso dei percorsi contenente file. Tutti questi file letti dai vari .txt che elenco devono essere racchiusi in un archivio .tar

    Vi faccio un esempio:

    ....]$ exec_tar_pippo.sh pippo.txt pluto.txt

    Dove pippo.txt e pluto.txt sono file editati con il comando vi e dove all'interno ci sono i percorsi dove andare a prendere i file da racchiudere in un .tar

    Ovviamente il tutto è lanciato dalla funzione che sta dentro exec_tar_pippo.sh

    Potreste dirmi cortesemente come creare questa shall?

    Grazie mille ciaoe buona giornata a tutti

  2. #2
    Moderatore di Linux e software L'avatar di francofait
    Registrato dal
    Aug 2001
    Messaggi
    13,559

    Re: Shall di LINUX

    Originariamente inviato da Ramsesdea
    Ciao ragazzi mi serve fare una shall con LINUX e mi serve un aiuto.

    Ho la seguente necessità:

    Devo creare una shall che mi permette di andare a leggere file .txt dove all'interno preciso dei percorsi contenente file. Tutti questi file letti dai vari .txt che elenco devono essere racchiusi in un archivio .tar

    Vi faccio un esempio:

    ....]$ exec_tar_pippo.sh pippo.txt pluto.txt

    Dove pippo.txt e pluto.txt sono file editati con il comando vi e dove all'interno ci sono i percorsi dove andare a prendere i file da racchiudere in un .tar

    Ovviamente il tutto è lanciato dalla funzione che sta dentro exec_tar_pippo.sh

    Potreste dirmi cortesemente come creare questa shall?

    Grazie mille ciaoe buona giornata a tutti
    praticamente ti serve un editor x console completo di filemanager - Midnight Commander basta installarlo.

  3. #3
    Grazie per la tempestiva risposta ma quello che effettivamente mi serve è proprio la funzione da scrivere per poter poi lanciare il comando e generarmi il .tar da quei file .txt che all'interno hanno i percorsi dove andarsi a prendere i file.

    Sapete come si può fare?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    859
    vorrai dire "shell" e poi quello di cui parli è uno script...

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    la bash è troppo divertente
    codice:
    #!/bin/bash
    if [ -z "$1" ] || [ -z "$2" ]; then
       echo -e "\nUsage: $0 <list_file> <archive_name.bz2>\n"
       exit 1;
    fi
    
    if [ ! -f "$1" ]; then
       echo -e "\nError: No file named \"$1\"\n" 
    else 
       for i in `cat $1`; do
          if [ ! -e "$i" ]; then
    	 echo "Warning: $i does not exist" &&
    	 echo "Bye !"
    	 exit 1
          else
    	 echo -en "$i...ok\n"
          fi;            
       done
       tar --preserve -cf $2 -j `cat $1` &&
       echo "Done !!!"
    fi
    exit 0

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    ovviamente te la saresti cavata anche con un semplice
    codice:
    $ tar -cf <nome_archivio> -j `cat <lista>`
    ...senza bisogno di uno script

  7. #7
    Grazie mille U-bahn con il comando

    tar -cf <nome_archivio> -j `cat <lista>`

    funziona alla grande.


    L'unica cosa che mi serve è come fare però le apostrofo `` che racchiudono cat <lista>

    Posso sempre fare un copia/incolla ma è interessante anche vedere come farle senza il classico copia/incolla.

    Grazie ancora

    Ciao ciao

  8. #8
    Utente di HTML.it L'avatar di alkat
    Registrato dal
    Jan 2004
    Messaggi
    4,190
    ALTgr + ? = `
    Passa a Windows, Linux, Mac, BSD, Atari, Amiga, Unix o alle schede perforate. Fa come ti pare.
    ***
    "There's probably no God. Now stop worrying and enjoy your life" - Atheist Bus in England

  9. #9
    Ciao ragazzi mi serve un ultimo favore....

    Il comando $ tar -cf <nome_archivio> -j `cat <lista>` funziona alla grande...

    Mi serve ora creare un file di log di questo comando che vado a lanciare...

    Es: Ho simulato un errore che riporto di seguito, lanciando il seguente comando....

    __________________________________________________ __________________
    tar -cf archivio.tbz2 -j `cat stringa_err.txt `

    tar: Removing leading `/' from member names
    tar: /home/oracle/test/TAR_ERR/file.txt: Cannot stat: No such file or directory
    tar: Error exit delayed from previous errors
    __________________________________________________ __________________

    Per generare l'errore ho dato un file di testo sbagliato (stringa_err.txt )

    Quello che mi serve, è come generarmi un file log che mi dia all'interno quello che mi fa vedere a video quando lancio il comando, e quindi l'errore.

    In pratica il file log deve contenere questo:

    tar: Removing leading `/' from member names
    tar: /home/oracle/test/TAR_ERR/file.txt: Cannot stat: No such file or directory
    tar: Error exit delayed from previous errors

    oppure il solo rigo

    tar: /home/oracle/test/TAR_ERR/file.txt: Cannot stat: No such file or directory


    Sapreste dirmi come fare?


    Ho già provato questo

    tar -cf archivio.tgz -z `cat stringa_err.txt ` > log.txt

    ma non va in quanto genera un file log ma vuoto.


    GRAZIE E BUONA GIORNATA A TUTTI

  10. #10
    Originariamente inviato da Ramsesdea
    Ciao ragazzi mi serve un ultimo favore....

    tar -cf archivio.tgz -z `cat stringa_err.txt ` > log.txt

    ma non va in quanto genera un file log ma vuoto.
    tar invia l'output in stderr, quindi

    codice:
    tar -cvvfz archivio.tgz $(cat listafile.txt) &> log.txt
    spiega

    &> dirige stderr verso un file
    $(comando) equivale a `comando`

    vedi anche:
    http://www.pluto.it/files/ildp/guide...edirintro.html
    http://www.pluto.it/files/ildp/guide...ocess-sub.html
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

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.