Linux-magazine.it Forum
Giugno 19, 2013, 03:33:33 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?
 
Pagine: [1]   Vai giù
  Stampa  
Autore Discussione: AIUTO CON LA SHELL BASH  (Letto 2782 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
zephyr
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3



Mostra profilo
« inserita:: Dicembre 27, 2011, 11:40:06 pm »

Salve a tutti,
mi trovo spesso con un problemino sciocco che mi porta spesso via un bel pò di tempo... Imbarazzato
Il problema è questo :
immaginate di avere una cartella di nome CAR1 contenente molte sottocartelle che contengono molte sottocartelle.... Scioccato
all'interno di esse vi sono molti file con diverse estensioni... Scioccato
la domanda è questa :
per esempio,come posso copiare dalla shell CON UN SOLO COMANDO o CONCATENANDOLI ,solo ed esclusivamente tutti i file con estensione jpg (o qualunque essa sia) in una cartella esistente CAR2  Che?!?
Mi sembra che CP copia ricorsivamente anche le cartelle e questo non mi risolve il problema... Pianto
Grazie per la cortese attenzione e un saluto a tutti... Sorriso
Registrato
Ema90
Hero Member
*****

Karma: +4/-5
Scollegato Scollegato

Messaggi: 533


Buon 2012


Mostra profilo
« Risposta #1 inserita:: Dicembre 28, 2011, 01:07:06 pm »

Ciao , al momento l'unica idea che mi viene in mente è questa:

Codice:
cp $(tree -fi | grep '\.jpg') DESTINAZIONE

il comando tree mostra i file e le sottocartelle ad albero ( no file nascosti ) , l'opzione -fi serve per mostrarli in linea e con il path completo.

grep '\.jpg' mostra solo le linee che contengono .jpg

Se trovi qualcosa di meglio facci sapere.

Registrato

michele.p
Administrator
Hero Member
*****

Karma: +54/-45
Scollegato Scollegato

Messaggi: 7332



Mostra profilo
« Risposta #2 inserita:: Dicembre 28, 2011, 02:34:43 pm »

...io userei il comando "specifico" per le ricerche nel filesystem ovvero find. Una cosa del tipo (eventualmente da migliorare/modificare a seconda delle necessità specifiche):

find /percorso/cartella/CAR1 -name '*.jpg' -exec cp \{\} /percorso/cartella/CAR2 \;

...in teoria  Linguaccia dovrebbe funzionare bene, perché trova i file .jpg e li passa, attraverso -exec, al comando cp. Ma deve rimanerne anche una copia nella cartella sorgente oppure devi spostarli? ...in quest'ultimo caso si può usare mv al posto di cp.
Usare -iname in luogo di -name se si vuole la ricerca case insensitive.

P.S.: Esegui le prove PRIMA su cartelle di copia, e solo quando ottieni il risultato desiderato, sulle originali!

Bye  Fico
Registrato

zephyr
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3



Mostra profilo
« Risposta #3 inserita:: Dicembre 28, 2011, 04:00:59 pm »

OK...il comando inserito di Ema90 ha funzionato...  Sorriso Occhiolino Felice Ghigno

L'altro comando consigliato da michele.p non ha funzionato..  Indeciso

Cerco di aggiustarlo un pochino ...  Fico se ci riesco ...  Imbarazzato  Indeciso

Cmq grazie tantissime....e auguroni a tutti  Felice
Registrato
michele.p
Administrator
Hero Member
*****

Karma: +54/-45
Scollegato Scollegato

Messaggi: 7332



Mostra profilo
« Risposta #4 inserita:: Dicembre 28, 2011, 07:19:07 pm »

...come non funziona?  Imbarazzato ...da qualche errore in particolare?  Occhi al cielo

...ma CAR2 è una sottocartella del percorso di ricerca oppure è "esterna" al percorso di ricerca? ...io ho provato con cartelle e immagini di prova e funziona.  Sorriso

Bye  Fico
« Ultima modifica: Dicembre 28, 2011, 07:27:20 pm da michele.p » Registrato

Ema90
Hero Member
*****

Karma: +4/-5
Scollegato Scollegato

Messaggi: 533


Buon 2012


Mostra profilo
« Risposta #5 inserita:: Dicembre 28, 2011, 08:25:43 pm »

anche a me funziona , sicuramente è la risposta migliore , purtroppo io non sono molto pratico con il comando find  Pianto
Registrato

zephyr
Newbie
*

Karma: +0/-0
Scollegato Scollegato

Messaggi: 3



Mostra profilo
« Risposta #6 inserita:: Dicembre 28, 2011, 10:51:53 pm »

Chiedo umilmente scusa...   Imbarazzato
il comando è perfetto!!   Felice
non avevo inserito il ; finale ...  Occhi al cielo
ho notato nelle man page di find che l'argomento "exec" è abbastanza vasto anche se un pò complicato x me...ma lo approfondirò sicuramente..è comodissimo !!  Fico
infatti non pensavo che il ; era importante ....  Linguaccia
senza ; la shell attendeva probabilmente inserimento comandi...  Indeciso
scusate di nuovo e un grazie a michele.p  Imbarazzato Ghigno
Registrato
Donato Valente
Sr. Member
****

Karma: +0/-5
Scollegato Scollegato

Messaggi: 307


Bye!

donatovalente@hotmail.com
Mostra profilo WWW E-mail
« Risposta #7 inserita:: Dicembre 31, 2011, 02:56:43 pm »

...come non funziona?  Imbarazzato ...da qualche errore in particolare?  Occhi al cielo

...ma CAR2 è una sottocartella del percorso di ricerca oppure è "esterna" al percorso di ricerca? ...io ho provato con cartelle e immagini di prova e funziona.  Sorriso

Bye  Fico
A U G U R I  !! di buon fine e inizio 2012  !!
« Ultima modifica: Gennaio 01, 2012, 07:02:02 pm da Donato Valente » Registrato

Non piangere sul latte versato e la giara rotta ! dice il saggio " arabo "

Mia configurazione: Main board foxconn P4M890 S775M, VGA ATI -X300 HYPER  MEMORY PCIE , MASTER. DVD 16X DOUBLE LAYER, RAM DDR2   1GB 533 FSB, HD250 GB SATA 7200rpm
Pagine: [1]   Vai su
  Stampa  
 
Vai a: