Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-04-2009, 10:15   #1
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
Sostituzione di stringhe nel nome del file

Un saluto a tutti voi...
... essendo un eterno niubbio su questo universo di Linux, vengo a voi per chiedere alcune dritte.

Ho una cartella dove ci finiscono dei file... vorrei rimuovere parte del nome dei file. I file in origine hanno questa struttura di nome:

XYZ|ABC|QWERTY|ASDF.Parte.che.mi.interessa.doc

la lunghezza di XYZ, ABC, QWERTY e ASDF è variabile.

Come faccio a rinominare il file in "Parte.che.mi.interessa.doc"?!? Fantascenza?

Un saluto by Elia
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 12:17   #2
Psycotic
Senior Member
 
L'Avatar di Psycotic
 
Iscritto dal: Feb 2004
Messaggi: 1209
Semplicissimo.
Ti basta una riga cosi'

ls *doc|while read f; do mv $f `echo $f|cut -d. -f2-$NF`; done

Enjoy

n.b. Ovviamente questo ti rinomina tutti i file .doc presenti nella directory, quindi occhio a non sovrascrivere.
__________________
...Ordunque...

Ultima modifica di Psycotic : 15-04-2009 alle 12:20. Motivo: n.b.
Psycotic è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 13:43   #3
psimem
Senior Member
 
L'Avatar di psimem
 
Iscritto dal: Jan 2006
Messaggi: 1525
Se usi kde c'e' una comodissima gui che ti permette di fare praticamente di tutto: krename.
__________________
-)(- debian -)(-
psimem è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 13:50   #4
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
Quote:
Originariamente inviato da Psycotic Guarda i messaggi
ls *doc|while read f; do mv $f `echo $f|cut -d. -f2-$NF`; done
Urka!!! A casa provo subito, grazie 1000!!!

Quote:
Originariamente inviato da psimem
Se usi kde c'e' una comodissima gui che ti permette di fare praticamente di tutto: krename.
Sono in riga di comando, niente GUI... mi serve sul lettore multimediale WDTV.

Un saluto e grazie!!!
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 14:04   #5
masand
Moderatore
 
L'Avatar di masand
 
Iscritto dal: Feb 2003
Città: Anagni/Firenze
Messaggi: 9133
Quote:
Originariamente inviato da Psycotic Guarda i messaggi
Semplicissimo.
Ti basta una riga cosi'

ls *doc|while read f; do mv $f `echo $f|cut -d. -f2-$NF`; done

Enjoy

n.b. Ovviamente questo ti rinomina tutti i file .doc presenti nella directory, quindi occhio a non sovrascrivere.
Interessante,
puoi per favore spiegare i passo-passo la stringa?

In questo modo anche chi è meno avvezzo comprende cosa fa il comando (in maniera che non si facciano le cose a pappagallo ).

Grazie

Un saluto a tutti...
masand
masand è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 14:04   #6
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
@Psycotic

il comando mi restituisce l'errore:
Codice:
read: cannot run builtin as part of pipe
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 17:23   #7
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da eliafino Guarda i messaggi
@Psycotic

il comando mi restituisce l'errore:
Codice:
read: cannot run builtin as part of pipe
se usi una bash al posto di:
ls *doc|while read f; do mv $f `echo $f|cut -d. -f2-$NF`; done
fai:
for f in $(ls *.doc); do mv $f $(echo $f | cut -d. -f2-$NF); done

Ciao

per la spiegazione:
Codice:
for f in $(ls *.doc) //per tutti i file che finiscono in .doc
do //fai:
   mv $f $(echo $f | cut -d. -f2-$NF) //rinomina il file $f (uno di quelli che proviene dall' ls *.doc) in echo $f | cut -d. -f2-$NF (che praticamente stampa lo stesso nome di file e taglia il tutto quello che c'e' prima del primo . ) 
done //fatto
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 22:29   #8
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
Quote:
Originariamente inviato da HexDEF6 Guarda i messaggi
for f in $(ls *.doc); do mv $f $(echo $f | cut -d. -f2-$NF); done
Cavolo, dentro un file bash questo è perfetto!!!

Sei un grande!
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 07:42   #9
psimem
Senior Member
 
L'Avatar di psimem
 
Iscritto dal: Jan 2006
Messaggi: 1525
Quote:
Originariamente inviato da eliafino Guarda i messaggi
Urka!!! A casa provo subito, grazie 1000!!!

Sono in riga di comando, niente GUI... mi serve sul lettore multimediale WDTV.

Un saluto e grazie!!!
Scusa non sono stato molto chiaro: krename e' la gui per il comando rename da shell (man rename) se non sei in modalita' grafica
__________________
-)(- debian -)(-
psimem è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2009, 08:12   #10
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
Quote:
Originariamente inviato da psimem Guarda i messaggi
Scusa non sono stato molto chiaro: krename e' la gui per il comando rename da shell (man rename) se non sei in modalita' grafica
Grazie, ma purtroppo non è nel repository del mio scatolo e avrei difficoltà per compilarlo...
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 15:55   #11
eliafino
Member
 
L'Avatar di eliafino
 
Iscritto dal: May 2004
Messaggi: 124
e questo?

con un curl di un sito internet, mi viene giù una lista che vado a salvare in un file.

4 campi separati da uno spazio, l'ultimo campo è il nome dei file.

Problema, alcuni numi di file hanno degli spazzi!!!

#000 NomeCognome Dimensione File.txt
#001 NomeCognome Dimensione File da rinominare.txt

#001 NomeCognome Dimensione File_da_rinominare.txt

Possibile dirgli di sostituire gli spazi SOLO nella variabile $4?
eliafino è offline   Rispondi citando il messaggio o parte di esso
Old 07-05-2009, 17:32   #12
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
di getto mi e' venuta sta schifezza:
Codice:
cat file_da_modificare.txt | awk '{nome_file="" ; for (i=1; i<=NF; i++) {if (i > 3) {nome_file = nome_file "_" $i}  else printf $i " "} ; print substr(nome_file, 2, length(nome_file))}' > file_modificato.txt
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Le 10 offerte TOP in Amazon del weekend:...
Dyson, doppio crollo su Amazon: purifica...
Il 70% delle imprese non vede effetti de...
HillMiles MileCity1 a 616€: la city e-bi...
GAC Aion UT, prima prova: tanta roba a 2...
vivo X300 Pro a 979€: il top di gamma co...
AGIBOT fa ballare 110 Expedition A3 per ...
iPad A16 da 11'' scende a 459€ in tutti ...
Mac mini M6 crolla a 899€ (-180€ rispett...
Galaxy S27, la ricarica resta a 25W: lo ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v