Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 01-27-2009
shira's Avatar
Registreret Bruger
 

Join Date: Jan 2009
Stillinger: 53
Hvordan sortere en fil og derefter udskrive lignende linjer gang

Hej!

Jeg har problemer med sortere og Entydige.
Jeg ved jeg er nødt til at bruge dem, jeg netop har problemer med at sætte dem i den rigtige rækkefølge.

Jeg har en tekstfil med usorteret linjer (hver linje har et par ord, det første ord i den linje, er et nummer.).

Jeg har brug for at sortere denne fil for at kunne bruge den Entydige kommando.

Jeg forsøgte at skrive det på følgende måde:


Code:
 
sort -n file | uniq

(Jeg skrev-n løsning, da den første streng i hver linje er et nummer. Er det okay?)

men når jeg kat filen det ikke ændret sig, og desuden produktionen fordobling et par linjer ikke nødvendigvis.

Hvad er der galt?

Tak,
Shira.
Sponsorerede links
  #2 (permalink)  
Old 01-27-2009
quirkasaurus's Avatar
Registered User
 

Join Date: Jan 2009
Beliggenhed: Canton, Michigan
Posts: 440
Måske brug for lidt mere info.

Hvad er filens indhold?

Du er også nødt til at omdirigere og derefter overskrive den oprindelige fil.

sortere-n $ file | Entydige> $ ftemp

Denne ~ bør ~ give dig et numerisk sorteret fil --- med alle duplikateksemplar
linjer fjernet.

MEN!

Hvis du tænker på at ændre dette:

1 ant
3 cat
2 bat
4 ant

til dette:

1 ant
2 bat
3 cat

Nej, det vil ikke fungere.
  #3 (permalink)  
Old 01-27-2009
shira's Avatar
Registreret Bruger
 

Join Date: Jan 2009
Stillinger: 53
dette er "formlen" af min fil:

123 12 something1
234 24 something2
345 36 something3
234 24 something2

Jeg ved, at hvis en linje starter med et bestemt antal, så alle de linjer, der starter med det samme antal lig med denne linje på alle områder.

Problemet er at sortere det, og at Entydige det.
  #4 (permalink)  
Old 01-27-2009
quirkasaurus's Avatar
Registered User
 

Join Date: Jan 2009
Beliggenhed: Canton, Michigan
Posts: 440
ikke kender, shira.

sortere-na | Entydige

arbejdet for mig:

123 12 something1
234 24 something2
345 36 something3

indgive en indeholdt:

123 12 something1
234 24 something2
345 36 something3
234 24 something2

måske noget mere specifikt som:

sortere-n-K1, 2 a | Entydige
  #5 (permalink)  
Old 01-27-2009
shira's Avatar
Registreret Bruger
 

Join Date: Jan 2009
Stillinger: 53
ok, nu jeg indskrev den, og problemet var at jeg ikke omlægge hele kommando i en anden fil. Så tak.

Dette er, hvad jeg skrev og det virkede:


Code:
sort -n file | uniq > temp

Hvorfor kan jeg ikke ændre den oprindelige fil? Er jeg på nogen måde kan?
  #6 (permalink)  
Old 01-27-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
 

Join Date: Dec 2007
Location: Home af 17-tiden verdensmester Boston Celtics
Indlæg: 1.441
Cool

De fleste UNIX-kommandoer og funktioner i forhold til filer kræver input og output-filer til at være anderledes. Af sikkerhedsmæssige grunde, men også spørgsmålet om, hvordan du behandler en stor fil på samme tid du laver noget til en fil.
Typiske løsning er af formen


Code:
sort file1 >file1.srt
#sometimes put a verification here; just in case
mv file1.srt file1

Men pas på med automatisk over-skrive din oprindelige fil. Hvis du starter med 1000 bøger, men en del af din kommando ikke helt arbejde som du troede, så du kan ende med nul registre.

Sidst redigeret af joeyg; 01-27-2009 på 01:27 PM..
  #7 (permalink)  
Old 01-27-2009
vgersh99's Avatar
Moderator
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.181

Code:
{ rm file; sort -nu > file;}< file

Sponsorerede links
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 Slukket


Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Fjern Lignende Lines fra en fil Nysif Steve Shell Programmering og Scripting 4 03-13-2009 03:49 AM
Hvordan man får / print linjer fra en bestemt fil? (Linux) rajavu UNIX for dummyer Spørgsmål & svar 4 12-23-2008 04:47 PM
Nødt til at udskrive visse linjer fra en fil jack00423 Shell Programmering og Scripting 25 09-29-2008 11:03 PM
udskrive alle endog linjer af en txt-fil ajp7701 Shell Programmering og Scripting 1 04-18-2008 12:17 AM
Print kun visse linjer fra en tekstfil CamTu Shell Programmering og Scripting 1 06-01-2005 12:47 PM



Alle tidspunkter er GMT -4. Den tid er nu 04:15 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 Indhold Copyright © 1993-2010. Alle rettigheder Reserved.Ad Management by RedTyger

Content Relevant webadresser ved vBSEO 3.2.0