The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Behov erstatning for sed dbsurf Shell Programmering og Scripting 0 01-25-2008 06:47 PM
For så vidt angår erstatning rajx UNIX for dummyer Spørgsmål & svar 2 05-22-2007 09:19 AM
String erstatning med Perl Lindarella Shell Programmering og Scripting 4 09-29-2006 02:05 PM
Erstatning ved hjælp sed handak9 UNIX for dummyer Spørgsmål & svar 5 07-13-2004 11:28 AM
CPU-udskiftning. hjælp IMPTRUE UNIX for dummyer Spørgsmål & svar 3 07-25-2003 08:40 AM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 01-25-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
Udskiftning af sed med perl

Hi via nedenstående cmd jeg identificere wheether sidste tegn i hver linje i tusindvis af filer som semikolon eller not.If sidste tegn er semikolon jeg fjerne semikolon. Hvis sidste tegn ikke er semikolon så er jeg tilføjende næste linje på nuværende linje.

For eksempel mit input fil består af

ABC | FGH | HJK | JKK;
BHJ | AAA | BBB | L
NNNN | JJJJ | LLLL;
JJJJJJ;
ud lægge filen består af
ABC | FGH | HJK | JKK
BHJ | AAA | BBB | L NNNN | JJJJ | LLLL
JJJJJ
Jeg er at nå de ovennævnte krav ved hjælp af sed som nedenfor

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

men jeg har tusinder af filer i en mappe sin forbruger mere og mere tid.

Kan man erstatte ovennævnte krav i perl med xargs

gerne xargs perl option

cn nogen foreslå den nemmeste måde uden looping
  #2 (permalink)  
Old 01-25-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.748
How about sed:
Code:
sed -e :a -e '/$;/N; s/\\\n//; s/$;//; ta'  oldfile > newfile
  #3 (permalink)  
Old 01-25-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
Hi Jim,

Ovenstående kode virker med sed men det er ved at ødelægge alt for meget tid .. kan du give det samme med perl syntaks.
Funktionaliteten er det at finde frem til sidste tegn i hver linje med alle filer som semicolon.if det grundlægger som semikolon det er at erstatte med tom plads i øvrigt har behov for at tilføje næste linje med nuværende.
  #4 (permalink)  
Old 01-25-2008
KevinADC KevinADC is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Jan 2008
Posts: 731
se din anden tråd
  #5 (permalink)  
Old 01-25-2008
dbsurf dbsurf is offline
Registreret Bruger
  
 

Join Date: Jan 2008
Stillinger: 23
cn nogen give mig den løsning for at erstatte sed med perl i ovennævnte
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 08:13 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0