The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
How to append ruimtes (bijvoorbeeld 10 plaatsen) aan het einde van elke regel op basis van de lengte van th prathima UNIX voor Dummies Questions & Answers 17 01-28-2009 04:10 PM
Vervang de spaties door enkele tabblad en rechts uitlijning Jae Programmeren en Shell Scripting 1 08-08-2007 11:58 PM
Vervang alle voorkomens van een string in alle file-/foldernames, recursief TheMJ Programmeren en Shell Scripting 2 04-12-2006 02:40
Vervang ruimten met 0's met numerieke waarden. videsh77 Programmeren en Shell Scripting 1 04-15-2005 02:22
Strip toonaangevende en naloopspaties alleen in een shell variabele met ingesloten ruimten jerardfjay Programmeren en Shell Scripting 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2007
Posts: 138
Vervang spaties recursief

Hoi,

Ik heb een map met bestanden en sub-directories (sub-directory diepte kunnen gaan tot 5). Er zullen een of meer ruimten (continu of waar dan ook in de naam van het bestand), die moeten worden vervangen met koppeltekens. Hoe kan ik de plaats van alle SPACE gebeurtenissen met koppelteken in het bestand / map namen recursief. (2 of meer continu gebeurtenissen van ruimten moeten worden vervangen door enkele koppelteken).


Bedankt
Prvn
  #2 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2005
Locatie: Bangalore
Posts: 219
Probeer dit:


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

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

Join Date: november 2006
Locatie: / dev / null
Posts: 177
Citaat:
Oorspronkelijk geplaatst door ahmedwaseem2000 View Post
Probeer dit:


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

Dit zal niet de naam van het bestand. Optie is om een script schrijven met een combinatie van zoeken,sed en mv commando.

Sante,
K
  #4 (permalink)  
Old 08-31-2007
ahmedwaseem2000 ahmedwaseem2000 is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2005
Locatie: Bangalore
Posts: 219
Citaat:
Oorspronkelijk geplaatst door kamitsin View Post
Waseem,

Dit zal niet de naam van het bestand. Optie is om een script schrijven met een combinatie van zoeken,sed en mv commando.

Sante,
K
Ik weet het zal niet de naam van het bestand, maar het zal alleen het genereren van de lijst van bestandsnamen zoals verwacht. een eenvoudige mv kan worden uitgevoerd na het ophalen van de lijst van mijn vorige commando.
  #5 (permalink)  
Old 08-31-2007
prvnrk prvnrk is offline
Geregistreerde gebruiker
  
 

Join Date: juli 2007
Posts: 138
Thannks kamitsin en Waseem.

Kamitsin, jou bieden recursieve oplossing en ja, ik zal gebruik maken van MV om de rest.

Ik heb kleine addon aan mijn eis (sorry, ik heb niet eerder vermeld) dat toonaangevende en naloopspaties moet worden verwijderd (niet te vervangen met koppelteken). Met andere woorden, file / dir namen mogen niet starten / eindigen met koppeltekens bijvoorbeeld als een bestand met de naam
"Mn" om "min".

TXS
Prvn
  #6 (permalink)  
Old 08-31-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2558
Als u Python en is in staat om het te gebruiken als een alternatief:

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

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 05:59 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0