The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Slik føyer mellomrom (si 10 plasser) på slutten av hver linje basert på lengden på th prathima UNIX for Dummies Spørsmål og svar 17 01-28-2009 04:10
Erstatt blank mellomrom etter én kategori, og høyre justering Jae Shell programmering og Skripting 1 08-08-2007 11:58
Erstatte alle forekomster av en streng i alle file-/foldernames, recursively TheMJ Shell programmering og Skripting 2 04-12-2006 02:40
Erstatt mellomrom med 0's har numeriske verdier. videsh77 Shell programmering og Skripting 1 04-15-2005 02:22
Strip ledende og etterfølgende mellomrom bare i et shell variabel med innebygd mellomrom jerardfjay Shell programmering og Skripting 6 03-07-2005 02:24

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Registrert bruker
  
 

Bli Dato: juli 2007
Innlegg: 138
Erstatt mellomrom recursively

Hei,

Jeg har en katalog med filer og sub-kataloger (sub-katalogen dybde kan gå opp til 5). Det vil være ett eller flere mellomrom (kontinuerlig eller hvor som helst i filnavnet) som må erstattes med bindestreker. Hvordan kan jeg bytte ut alle PLASS forekomster med bindestrek i filen / dir navn recursively. (2 eller flere sammenhengende forekomster av områder skal erstattes med enkel bindestrek).


Takk
Prvn
  #2 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registrert bruker
  
 

Bli Dato: Aug 2005
Beliggenhet: Bangalore
Innlegg: 219
Prøv dette:


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

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

Bli Dato: november 2006
Sted: / dev / null
Innlegg: 177
Sitat:
Originally Posted by ahmedwaseem2000 View Post
Prøv dette:


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

Dette vil ikke endre filnavnet. Alternativ er å skrive et script med en kombinasjon av å finne,sed og mv kommandoen.

Skål,
K
  #4 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Registrert bruker
  
 

Bli Dato: Aug 2005
Beliggenhet: Bangalore
Innlegg: 219
Sitat:
Originally Posted by kamitsin View Post
Waseem,

Dette vil ikke endre filnavnet. Alternativ er å skrive et script med en kombinasjon av å finne,sed og mv kommandoen.

Skål,
K
Jeg vet det ikke vil endre navn på filen, men det vil bare generere en liste over filnavn som forventet. en enkel mv kan utføres etter får du listen fra min forrige kommandoen.
  #5 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Registrert bruker
  
 

Bli Dato: juli 2007
Innlegg: 138
Thannks kamitsin og Waseem.

Kamitsin, din tilbyr Rekursiv løsning og Ja, jeg vil bruke mv for å få resten.

Jeg trenger liten addon til min kravet (sorry, jeg ikke nevne tidligere) som ledende og etterfølgende mellomrom bør fjernes (ikke til å bli erstattet med bindestrek). Med andre ord, fil / dir navnene bør ikke starte / avslutte med bindestrek for eksempel hvis en fil med navnet
"Mn" å bli "mn".

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

Bli Dato: Sep 2006
Innlegg: 2554
Hvis du har Python og er i stand til å bruke det som et alternativ:

Code:
#!/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

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 07:56.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0