The UNIX and Linux Forums  

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
Behöver ersätter för sed dbsurf Shell-programmering och Skript 0 01-25-2008 06:47
Vad ersätter rajx UNIX for Dummies Frågor & Svar 2 05-22-2007 10:19
String ersätter med Perl Lindarella Shell-programmering och Skript 4 09-29-2006 03:05
Ersätter använda sed handak9 UNIX for Dummies Frågor & Svar 5 07-13-2004 12:28
CPU byte. hjälp IMPTRUE UNIX for Dummies Frågor & Svar 3 07-25-2003 09:40

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
Byte av sed med perl

Hej via nedanstående cmd jag identifiera wheether sista tecknet i varje rad i tusentals filer som semikolon eller not.If sista tecknet är semikolon jag bort semikolon. Om sista tecknet är inte semikolon då jag lägger till nästa rad till nuvarande linjen.

Till exempel min indatafil består av

ABC | FGH | HJK | JKK;
BHJ | AAA | BBB | L
NNNN | JJJJ | LLLL;
JJJJJJ;
ut som filen består av
ABC | FGH | HJK | JKK
BHJ | AAA | BBB | L NNNN | JJJJ | LLLL
JJJJJ
Jag uppnå dessa krav med sed enligt nedan

sed -e: en-e'/;$/! N, s / \ n / /; ta '-e' s /;$//' fil

men jag har tusentals filer i en katalog dess konsumerar mer och mer tid.

Kan vem som helst ersätta ovannämnda krav perl med xargs

like xargs perl alternativet

cn någon föreslå det enklaste sättet 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.807
Vad sägs om sed:

Kod:
sed -e :a -e '/$;/N; s/\\\n//; s/$;//; ta'  oldfile > newfile

  #3 (permalänk)  
Old 01-25-2008
dbsurf dbsurf is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 23
Hej Jim,

Ovanstående kod fungerar med sed men det förbrukar för mycket tid .. kan du ge samma med perl syntax.
Funktionaliteten är det att identifiera sista tecknet på varje rad i alla filer som semicolon.if det grundar eftersom semikolon det att ersätta med mellanslag annars måste lägga nästa linje med nuvarande.
  #4 (permalänk)  
Old 01-25-2008
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Inlägg: 731
se din andra tråd
  #5 (permalänk)  
Old 01-25-2008
dbsurf dbsurf is offline
Registered User
  
 

Join Date: Jan 2008
Inlägg: 23
cn någon ge mig lösningen för att ersätta sed med perl i ovan
Closed Thread

Komihåglista

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 07:56.


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