The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
modo per aggiungere gli spazi (ad esempio 10 posti), alla fine di ogni riga in base alla lunghezza della th prathima UNIX for Dummies Domande & Risposte 17 01-28-2009 04:10 PM
Sostituire spazi da sola scheda, e l'allineamento a destra Jae Shell scripting e di programmazione 1 08-08-2007 11:58 PM
Sostituire tutte le occorrenze di una stringa in tutti i file-/foldernames, ricorsivamente TheMJ Shell scripting e di programmazione 2 04-12-2006 02:40 AM
Sostituire gli spazi con 0 abbia valori numerici. videsh77 Shell scripting e di programmazione 1 04-15-2005 02:22 AM
Striscia di leader e di spazi solo in una variabile della shell con incorporato spazi jerardfjay Shell scripting e di programmazione 6 03-07-2005 02:24 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2007
Interventi: 138
Sostituire spazi ricorsivamente

Salve,

Ho una directory con i file e le sub-directory (sotto-directory di profondità potrebbe andare fino a 5). Ci sarà uno o più spazi (in continuo o in qualsiasi parte del nome del file) che devono essere sostituiti con trattini. Come faccio a sostituire tutte le occorrenze con SPACE Hyphen nel file / dir nomi ricorsivamente. (2 o più occorrenze di SPAZI continua dovrebbe essere sostituito con un singolo trattino).


Grazie
Prvn
  #2 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Utente Registrato
  
 

Join Date: Aug 2005
Località: Bangalore
Interventi: 219
Prova questo:


Codice:
find . -name "*" | sed '1,$s/ /\-/g; s/\-\-/\-/g'

  #3 (permalink)  
Old 08-31-2007
kamitsin's Avatar
kamitsin kamitsin is offline
Utente Registrato
  
 

Iscriviti Data: novembre 2006
Località: / dev / null
Interventi: 177
Citazione:
Originalmente inviato da ahmedwaseem2000 View Post
Prova questo:


Codice:
find . -name "*" | sed '1,$s/ /\-/g; s/\-\-/\-/g'
Waseem,

Ciò non rinominare il file. Opzione è quella di scrivere uno script con una combinazione di trovare,sed e il comando mv.

Salute,
K
  #4 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Utente Registrato
  
 

Join Date: Aug 2005
Località: Bangalore
Interventi: 219
Citazione:
Originalmente inviato da kamitsin View Post
Waseem,

Ciò non rinominare il file. Opzione è quella di scrivere uno script con una combinazione di trovare,sed e il comando mv.

Salute,
K
So che non rinominare il file, ma solo di generare l'elenco dei nomi di file come previsto. un semplice mv può essere effettuata, dopo aver conquistato la lista dal mio comando precedente.
  #5 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Utente Registrato
  
 

Iscriviti Data: luglio 2007
Interventi: 138
Thannks kamitsin e Waseem.

Kamitsin, la vostra offerta soluzione ricorsiva e sì, io uso mv per raggiungere il resto.

Ho bisogno di piccole addon al mio obbligo (mi dispiace, non ho menzionato in precedenza) che CONDUCE spazi e deve essere rimosso (non deve essere sostituito con il trattino). In altre parole, il file / dir nomi non dovrebbe inizio / fine con trattini, ad esempio se un file con un nome
"Mn" diventare "minuti".

Txs
Prvn
  #6 (permalink)  
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Interventi: 2.557
Se si dispone di Python ed è in grado di utilizzare in alternativa:

Codice:
#!/usr/bin/python
import os,re
for root,dir,files in os.walk("/test"):
    for fi in files:
        if fi.count(" ")>0:
            fi=fi.strip()
            newfile = os.path.join(root,re.sub("\s+","-",fi))
            os.rename(os.path.join(root,fi),newfile)

Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 04:12 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0