The UNIX and Linux Forums  


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
Hvordan læser man registrerer optage fra en fil i UNIX raoscb UNIX for dummyer Spørgsmål & svar 1 05-16-2008 07:30 AM
fjerne overlappes kolonner kamel.seg Shell Programmering og Scripting 6 02-21-2008 07:36 AM
Fjern første og sidste referat fra en fil ravikuc UNIX for dummyer Spørgsmål & svar 1 10-11-2007 04:35 AM
fjerne overlappes linjer uden sortere lalelle Shell Programmering og Scripting 6 08-21-2007 08:44 AM
kommando til at fjerne sidste optage på fil mheinen UNIX for dummyer Spørgsmål & svar 4 01-09-2007 04:39 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-20-2006
happyv happyv is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 209
fjerne overlappes xml registrere i en fil under unix

Hej,

Hvis jeg har en fil med XML-format, vil jeg gerne fjerne overlappes optegnelser og gemme på en ny fil. Er det muligt ... at skrive script til at gøre det?
  #2 (permalink)  
Old 09-20-2006
tayyabq8's Avatar
tayyabq8 tayyabq8 is offline Forum Advisor  
Moderator
  
 

Join Date: Nov 2004
Beliggenhed: Bahrain
Posts: 579
Forsøge
Code:
uniq inputfile

  #3 (permalink)  
Old 09-20-2006
Yogesh Sawant's Avatar
Yogesh Sawant Yogesh Sawant is offline Forum Staff  
Part Time Redaktør og Full Time Dad
  
 

Join Date: Sep 2006
Beliggenhed: Rossem, Tazenda
Indlæg: 1.086
Jeg ved ikke, om det er muligt i råtanken eller ej, men det er muligt i Perl. Må overveje denne mulighed, hvis du kan.
  #4 (permalink)  
Old 09-20-2006
happyv happyv is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 209
Er Perl kan køre under ksh Unix?

Også, the record er en smule forskel ... det ser ud som

record1:
Dette er test
mit id er 2001
Slut:
record2:
dette er testing2
mit id er 2002
Slut:
record3:
Dette er test
mit id er 2002
Slut:
record4:
dette er testing2
mit id er 2002
Slut:

Af ovenstående, optage 2 og 4 er overlappes. På grund af den "ID" og "testing2" er det samme. Hvis kun én linje er den samme, som ikke er kaldet overlappes ..

Perl eller en ven kan hjælpe til scriptet?
  #5 (permalink)  
Old 09-20-2006
ranj @ chn ranj@chn is offline Forum Advisor  
Leger med Ubuntu Now!
  
 

Join Date: oktober 2005
Sted: Chennai
Posts: 365
kontrollere dette

Jeg har ikke testet dette, men du kontrollere det

Code:
paste -s -d"\t\t\t\n" filename|sort -u |tr "\t" "\n"


Sidst redigeret af ranj @ chn; 09-20-2006 på 08:54 AM.. Årsag: fejl i kommando
  #6 (permalink)  
Old 09-20-2006
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2004
Beliggenhed: Bordeaux, Frankrig
Posts: 1.433
Du kan prøve at bruge awk.
Opret følgende awk script uniq.awk :

Code:
/^end:/ {
   if (! (Record in Records)) {
      Records[Record];
      print RecordLabel ":";
      print Record;
      print $0;  
      Record = "";
   }
   next;
}
$1 ~ /^.*:/ {
   sub(/:.*/, "", $1);
   RecordLabel = $1;
   next;
}
{
   Record = (Record ? Record "\n" : "") $0;
}

og fuldbyrde det:

Code:
$ awk -f uniq.awk filename
record1:
this is testing
my id is 2001
end:
record2:
this is testing2
my id is 2002
end:
record3:
this is testing
my id is 2002
end:
$

Jean-Pierre.
  #7 (permalink)  
Old 09-20-2006
nerve nervous is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 55
Dear Sir,

Det ville være en stor hjælp hvis du kan beskrive koden nedenfor i detaljer, jeg er lige begyndt at lære om awk og jeg kan sige, at forståelsen af følgende kode på en klar måde ville hjælpe mig meget i fremtiden.
Citat:
/ ^ udgangen: / (
if (! (Optag i Records)) (
Records [Record];
print RecordLabel ":";
print Record;
print $ 0;
Optag \u003d "";
)
næste;
)
$ 1 ~ /^.*:/ (
sub (/:.*/, "", $ 1);
RecordLabel \u003d $ 1;
næste;
)
(
Optag \u003d (Optag? Record "\ n": "") $ 0;
)
Thanks in advance.
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 05:07 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