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

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-04-2009, 09: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, 11: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 11:20. Motivo: n.b.
Psycotic è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2009, 12: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, 12: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, 13: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, 13: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, 16: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, 21: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, 06: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, 07: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, 14: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, 16: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


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
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: 00:40.


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