[RISOLTO] Creare uno script per elencare file

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
erbogasto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: giovedì 15 settembre 2005, 10:03
Località: Everywhere

[RISOLTO] Creare uno script per elencare file

Messaggio da erbogasto »

Ciao a tutti,come da oggetto,vorrei creare uno script da poter lanciare per creare un elenco dei file contenuti nella directory selezionata e che mi stampi sul desktop in un file di testo con il risultato,in particolare che mi esegua un semplice :

Codice: Seleziona tutto

cd "directory selezionata"

e quindi

Codice: Seleziona tutto

$ls -R > /home/utente/Desktop/elenco.txt
Io avrei pensato piu' o meno di fare cosi' :

Codice: Seleziona tutto

#!/bin/sh
# From Erbogasto
# Crea un elenco dei file contenuti nella directory selezionata e nelle sottodirectory in essa contenute
# e stampato sul Desktop sotto forma di file di testo (elenco.txt)
# Sostituire "nome_utente" con il nome del vostro utente !!!
# Enjoy :) 

cd 'NAUTILUS_SCRIPT_CURRENT_URI'
ls -R > /home/nome_utente/Desktop/elenco.txt
Chiedo pero' ai piu' esperti di darmi una mano perchè non so' se sia corretto ... ed eventualmente di ampliarne le possibilita'.

In pratica mi manca quel comodissimo software per Winzz (DirLister) che in maniera grafica (molto piu' comoda tra l'altro...) crea un elenco di files con un sacco di opzioni sia di input che di output.

Ciao e grazie anticipatamente :)
Ultima modifica di erbogasto il mercoledì 10 ottobre 2007, 5:31, modificato 1 volta in totale.
Knowledge is the power ... share it babe !!!
Avatar utente
AlexSistemiFree
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1373
Iscrizione: venerdì 15 dicembre 2006, 9:43

Re: Creare uno script per elencare file

Messaggio da AlexSistemiFree »

Credo dovresti usare qualcosa del tipo:
$NAUTILUS_SCRIPT_CURRENT_URI
cioè con il dollaro davanti.

Guarda se funziona.

Ciao Ale :)

Nota:
Gli esperti di script bash saranno più esaurienti e precisi.
Avatar utente
erbogasto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: giovedì 15 settembre 2005, 10:03
Località: Everywhere

Re: Creare uno script per elencare file

Messaggio da erbogasto »

Grazie della dritta,stasera a casa provo e ti faccio sapere se funziona
Se nel frattempo a qualcun'altro venissero idee ... sono bene accette !
Ciauzz  (b2b)
Knowledge is the power ... share it babe !!!
Avatar utente
daemon_nio
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1012
Iscrizione: lunedì 15 gennaio 2007, 14:18
Sesso: Maschile
Località: London
Contatti:

Re: Creare uno script per elencare file

Messaggio da daemon_nio »

Beh lo script con la correzione di AlexSistemiFree dovrebbe funzionare, anche se non ho capito una cosa.

Lo script da dove lo vuoi lanciare?
se lo vuoi lanciare da "ovunque" per dargli il dono dell'ubiquità lo devi mettere in /usr/bin (ovviamente dopo averlo reso eseguibile con chmod)...
ma precisamente cosa vuoi che faccia?
erbogasto ha scritto:In pratica mi manca quel comodissimo software per Winzz (DirLister) che in maniera grafica (molto piu' comoda tra l'altro...) crea un elenco di files con un sacco di opzioni sia di input che di output.
non conosco DirLister: ma che significa crea un elenco di files con un sacco di opzioni sia di input che di output?
Sempre costruendo qualcosa di nuovo: Matag: The Game
Avatar utente
erbogasto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: giovedì 15 settembre 2005, 10:03
Località: Everywhere

Re: Creare uno script per elencare file

Messaggio da erbogasto »

:) ... effettivamente non mi sono spiegato un granchè bene !!!
Lo script lo metterei nei "nautilus-scripts" in modo che,una volta selezionata la directory che mi interessa, col tasto dx del mouse,lancio lo script e questo ( ls )mi crea l'elenco ( > elenco.txt) di tutto cio' che è contenuto in codesta directory ed eventuali sub-dir (-R) .

DirLister semplifica l'esecuzione della cosa (in pratica è una gui per il print di Winz) in quanto graficamente ti permette di scegliere in che ordine elencare i file (opzioni che io chiamo di input ovvero in maniera ricorsiva per le sub-dir,ordine alfabetico,per dimensione,per estensione etc) che comunque posso ottenere con altri parametri aggiuntivi di " ls " ( -X -S -h etc.) e cosa vuoi che risulti scritto sull'elenco (quello che io definisco opzioni di output) oltre al nome del file (es estensione,dimensione,ultimo accesso,proprietario,elenco numerato etc.) e in che formato risulta l'elenco ( es: .txt .html .pdf  .odt etc.) .

Ciauzz e grazie  (b2b)
Knowledge is the power ... share it babe !!!
Avatar utente
fedefede0101
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 714
Iscrizione: mercoledì 16 maggio 2007, 17:58

Re: Creare uno script per elencare file

Messaggio da fedefede0101 »

ciao, se ti va, anzichè utilizzare un tuo "scriptino", potresti provare l'ottimo nonchè utilissimo tree -->> sudo apt-get install tree

poi ad esempio:

tree -pshu /usr/share/firefox/ > Desktop/usr_share_firefox_tree

apri il file, e vedi se l'output ti piace ed è quello che stai cercando...

per tutte le altre opzioni:

man tree

:(
Avatar utente
giolock
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 352
Iscrizione: lunedì 4 dicembre 2006, 22:11
Località: Santa Vittoria d'Alba (CN)

Re: Creare uno script per elencare file

Messaggio da giolock »

io metterei:

Codice: Seleziona tutto

ls -R > $HOME/Desktop/elenco.txt
così becca da solo il nome utente
Ciao
Progetto sKaricator – GUI per scaricare audio/video rtsp/mms, real audio, real video, wmv ecc ...
http://forum.ubuntu-it.org/viewtopic.php?t=110947
Avatar utente
fedefede0101
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 714
Iscrizione: mercoledì 16 maggio 2007, 17:58

Re: Creare uno script per elencare file

Messaggio da fedefede0101 »

non avevo mai pensato ad utilizzare tree in uno script per nautilus (potrebbe tornare utile)  (b2b)

scriptino fatto in 10 minuti, ovviamente migliorabile!!

Codice: Seleziona tutto

#!/bin/bash

current_path=`pwd`

if [ -d "$1" ]; then
	tree -pshu $current_path/$1 > $HOME/Desktop/${current_path//\//_}_$1_tree
else
	echo -e "ERROR: $current_path/$1 non è una directory!!" > $HOME/Desktop/${current_path//\//_}_$1_tree
fi

exit 0
pwd, così stampa sempre il percorso completo...

EDIT: dimenticavo, per lanciarlo in nautilus, lo script va messo in ~/.gnome2/nautilus-scripts

thx per l'idea  ;)

:(
Ultima modifica di fedefede0101 il martedì 9 ottobre 2007, 19:16, modificato 1 volta in totale.
Avatar utente
difesaparcosempione
Rampante Reduce
Rampante Reduce
Messaggi: 6031
Iscrizione: giovedì 27 luglio 2006, 19:06
Località: Torino
Contatti:

Re: Creare uno script per elencare file

Messaggio da difesaparcosempione »

oppure potresti usare

find . -type f -print
oppure
find . -type f

cosi soltanto i file con path verranno presentati !

:)
Avatar utente
fedefede0101
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 714
Iscrizione: mercoledì 16 maggio 2007, 17:58

Re: Creare uno script per elencare file

Messaggio da fedefede0101 »

>>pwd, così stampa sempre il percorso completo...

tradotto, volevo dire che uso pwd per recuperare la directory radice da passare a tree e nel nome file che viene creato...

(verso sera comincio ad esprimermi come un cane) sorry  ;D

:(
Avatar utente
erbogasto
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 335
Iscrizione: giovedì 15 settembre 2005, 10:03
Località: Everywhere

[RISOLTO] Creare uno script per elencare file

Messaggio da erbogasto »

Fantastico ,con lo script di fedefede0101 ottengo proprio cio' che stavo cercando.
Mi sono letto il man di tree,e ho modificato cosi' alle mie esigenze lo scriptino :

Codice: Seleziona tutto

#!/bin/bash
#Script per creare un elenco dei file contenuti in una directory 
#Creato da fedefede0101 il 09/10/2007

current_path=`pwd`

if [ -d "$1" ]; then
	tree -i $current_path/$1 > $HOME/Desktop/${current_path//\//_}_$1_tree
else
	echo -e "ERROR: $current_path/$1 non è una directory!!" > $HOME/Desktop/${current_path//\//_}_$1_tree
fi

exit 0
Grazie mille a tutti (b2b)
Ultima modifica di erbogasto il mercoledì 10 ottobre 2007, 5:31, modificato 1 volta in totale.
Knowledge is the power ... share it babe !!!
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti