Repository 32bit  Forum
Repository 64bit  Wiki

script - (mv - cp - sed )

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la distribuzione usata e la versione della utility coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza dell'ultima regola porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.

script - (mv - cp - sed )

Messaggioda vanescar » ven mag 20, 2011 0:13

ciao a tutti...
per un mia comodita e curiosita sto scrivendo uno script per aggiornare il mio server , ma nn riesco a trovare il comando che mi copia il contenuto di una directory in un altra modificando tutti i file con un prefisso "_mioscript"

cp /mia/directory/*.sh /altra/directory/*_mioscript.sh

_mioscript voglio mettere questo a tutti i file che contiene quella directory in un altra, come posso fare ?
vanescar
Linux 2.4
Linux 2.4
 
Messaggi: 334
Iscritto il: mer mag 11, 2005 0:00
Slackware: 12.1

Re: script - (mv - cp - sed )

Messaggioda targzeta » ven mag 20, 2011 0:26

Potresti spendere un attimo di più per spiegarti un po' meglio? Cioé tu vuoi che vengano copiati "solo" tutti i file '.sh' e vuoi che nella directory di destinazione venga aggiunto il prefisso(?) _mioscript? Ad esempio:
Codice: Seleziona tutto
cp /mia/directory/casa.sh /altra/directory/casa_mioscript.sh
giusto?

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 5914
Iscritto il: gio nov 03, 2005 15:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: script - (mv - cp - sed )

Messaggioda darkstaring » ven mag 20, 2011 0:33

Puoi far così:

Codice: Seleziona tutto
#!/bin/bash
cd /mia/directory/
for i in *.sh
do
        cp $i /dove/li/metti/$i_mioscript.sh;
done
mettete fiori nei cannoni
darkstaring
Linux 2.4
Linux 2.4
 
Messaggi: 344
Iscritto il: mer ott 13, 2010 13:55
Slackware: Current
Desktop: xfce

Re: script - (mv - cp - sed )

Messaggioda Blallo » ven mag 20, 2011 0:55

ma così non si chiamarebbero poi pippo.sh_mioscript.sh?
Io sono il detective Arsenio Magret, e porto sempre la camicia TATUATA!
Avatar utente
Blallo
Packager
Packager
 
Messaggi: 3054
Iscritto il: ven ott 12, 2007 11:37
Località: Torino / Torremaggiore (FG)
Nome Cognome: Savino Liguori
Slackware: 14 x64 / 12.2
Kernel: 3.2.x
Desktop: Xfce

Re: script - (mv - cp - sed )

Messaggioda targzeta » ven mag 20, 2011 1:15

Aggiungo un'altra osservazione a quella di jimmy_page_89. E se la directory ha una sottodirectory? Che bisogna fare? La soluzione proposta non funzionerebbe.

Ecco perché pregherei vanescar di essere un po' più "preciso", per quanto la precisione secondo me è solo un concetto personale :D.

Preciso che non voglio fare il bacchettone di turno, vorrei solo capire bene il problema per dare una soluzione ottimale. A seconda di cosa si vuole fare ci sono varie soluzioni più o meno buone. Ho il dubbio che i miei post diano un'impressione sbagliata sul mio intento :)

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà
Avatar utente
targzeta
Iper Master
Iper Master
 
Messaggi: 5914
Iscritto il: gio nov 03, 2005 15:05
Località: Carpignano Sal. (LE) <-> Pisa
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM

Re: script - (mv - cp - sed )

Messaggioda d4z_c0nf » ven mag 20, 2011 2:15

Beh avete ragione entrambi.
Per il problema sollevato da jimmy, bisogna utilizzare gli operatori sulle stringhe:
Il "cp" all'interno del for, diventa
Codice: Seleziona tutto
cp $i /dove/li/metti/${i%%.sh}_mioscript.sh;


Per l'osservazione di Spina, immagino che voglia sapere se è necessario o meno utilizzare find, per fare una cosa più pulita, ma anche il quel caso quell'operatore sarà essere utile.

Offtopic: Spina, solo chi non ti ha mai letto prima può pensare male. Ma anche se così fosse, il problema è che non c'è un modo "non bacchettone" di chiedere una maggiore precisione :D
Avatar utente
d4z_c0nf
Packager
Packager
 
Messaggi: 1266
Iscritto il: mar mar 14, 2006 19:07
Località: Salerno
Nome Cognome: Rocco Aliberti
Slackware: current64
Kernel: 3.2.13
Desktop: awesome 3.4.11

Re: script - (mv - cp - sed )

Messaggioda vanescar » ven mag 20, 2011 8:30

scusate se non sono stato esaustivo nel porvi il problema...
comunque l'operatore di stringe all'interno di for ha funzionato, ora sono molto contento .. Grazie a tutti
vanescar
Linux 2.4
Linux 2.4
 
Messaggi: 334
Iscritto il: mer mag 11, 2005 0:00
Slackware: 12.1


Torna a Gnu/Linux in genere

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite