The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Snabba sätt att hitta och ersätta hjälp jkl_jkl Shell-programmering och Skript 1 03-06-2008 07:41
Perl: Sök efter strängen online sedan söka och ersätta text Crypto Shell-programmering och Skript 4 01-04-2008 10:24
Vad är det för snabbt sätt att ta bort dessa filer? tonyvirk UNIX for Dummies Frågor & Svar 4 01-01-2008 08:02
Behovet av att söka och ersätta i flera filer i katalogen hierarki umen Shell-programmering och Skript 3 12-24-2007 04:56
Sök och ersätt med flera rader text i filer Marz Shell-programmering och Skript 10 10-10-2005 08:05

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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 01-25-2008
dbsurf dbsurf is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 23
snabbt att söka och ersätta i alla filer

Hej

Jag måste hitta ett snöre i alla filer och ersätta THT string med tomt utrymme och behovet av att rikta alla filer i samma katalog igen.

nu jag brukar

hitta. /-name "*. DMP" | xargs perl -pi-e 's / \ \ n / / g "| sed är /.$// g "

men nu är det inte redirrecting ordentligt.

det tar för mycket tid för operationen.

Finns det något sätt att söka och ersätta mycket snabbt i alla tusen filer snabbt utan looping.
  #2 (permalänk)  
Old 01-25-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.754
Detta undanröjer \ N, ersätter det med "" och sedan käft bort det sista tecknet på varje rad och infogar en plats där. Vet du om dos2unix (eller dos2ux)?

Kod:
find ./ -name "*.dmp" | xargs perl -pi -e 's/\\N/ /g; s/.$/ /g'
Om du vill att den ska köras snabbare försöka använda bakgrundsprocesser:
Kod:
cnt=0
find ./ -name "*.dmp" |\
while read file do
  perl -pi -e 's/\\N/ /g; s/.$/ /g'  $file  &
  cnt=$cnt+1
  z=$(( $cnt % 10 ))
  if [[ $z -eq 0 ]] ; then
     wait
  fi
done 
wait
Detta driver tio process samtidigt i bakgrunden. Och sedan väntar för slutförande. Koden du proivided kan inte ersätta tecken med ett mellanslag

Senast redigerad av vgersh99; 01-25-2008 vid 02:43.. Orsak: saknas'] "
  #3 (permalänk)  
Old 01-25-2008
dbsurf dbsurf is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 23
Hi sitt ge felmeddelande vid användning ovan kod
syntaxfel på rad 7: '] "oväntade
  #4 (permalänk)  
Old 01-25-2008
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.122
Jag har redigerat den ursprungliga utstationering av Jim.
  #5 (permalänk)  
Old 01-25-2008
dbsurf dbsurf is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 23
Hej

Funkar det?

Är det möjligt att ersätta den nedan sed syntax också ovanstående xargs perl
scenario
sed -e: en-e'/;$/! N, s / \ n / /; ta '-e' s /;$//' fil
  #6 (permalänk)  
Old 01-25-2008
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Inlägg: 731
Verkligen, det är löjligt. Det finns inget sätt att söka och ersätta något i tusentals filer snabbt. Du kan hitta sätt att snabbare än andra, men ingenting kommer att bli en magisk kula. Jag föreslår att du försöker perls inplace editor, kan det gå snabbare än sed men jag vet inte riktigt.
Closed Thread

Komihåglista

Taggar
linux

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 11:36.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0