The UNIX and Linux Forums  
Hello and Welcome-tól a UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Hogyan lehet beszúrni, és törölje a sort sor után vágy RahulJoshi Shell programozás és Scripting 4 10-20-2008 11:27 AM
Need Script iktathatják kettősponttal minden sora fájl canopus15 A UNIX a dummies Kérdések és válaszok 4 08-05-2008 09:03 PM
be egy sor után külön sorban namishtiwari Shell programozás és Scripting 8 05-21-2008 03:16 PM
Hogyan lehet beszúrni új sort az adatállományt a script Sona A UNIX a dummies Kérdések és válaszok 2 08-22-2006 02:17 AM
Tegyen be egy sor, az első sorban egy igen nagy fájlt sikoltás A UNIX a fejlett és szakértői Felhasználók 3 03-09-2005 01:22 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 11-21-2008
appsguy616 appsguy616 is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2008
Hozzászólások: 27
awk script összehasonlítani, és helyezzük egy vonal

Szia
Azt akarom összehasonlítani egy karakterláncot a rögzített 10-20 összes vonalak kezdődő 6. ha ne egyezik meg kell hozniuk egy-egy példányát, egy vonal, kezdve az 1. és illessze be azt a sort kezdve 6. Hogyan lehet ez? Kérem, segítsen

Pl.

1 test 1 765533 7643743
6 igen 3 5363653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
7 323323 4343434435 545
6 igen 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
6 igen 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
6 igen 3 5383653 373833
7 323323 4343434435 545
8 4345435435 5454545 55

így a teljesítmény kell

1 test 1 765533 7643743

6 igen 3 5363653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
7 323323 4343434435 545
1 test 1 765533 7643743
6 igen 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
6 igen 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
1 test 1 765533 7643743
6 igen 3 5383653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
  #2 (permalink)  
Old 11-22-2008
replytoshishir replytoshishir is offline
Regisztrált felhasználó
  
 

Join Date: May 2006
Helyszín: Bangalore
Hozzászólások: 23
Legyen szíves magyarázza kicsit több, mint .. mit keresel, és melyik melyik vonalat nos .... Azt hiszem, segíthet .......

thnx shishir
  #3 (permalink)  
Old 11-22-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.869
Mivel a minta adatok, hogy a varratok $ 4 működik majd jól.
Használ nawk vagy /usr/xpg4/bin/awk be Solaris:

Kód:
awk '/^1 / { s = $0 }
/^6 / && !t[$4]++ {
  c++ && $0 = s RS $0
  }1' infile
  #4 (permalink)  
Old 11-23-2008
summer_cherry summer_cherry is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jun 2007
Helyszín: Kína Peking
Hozzászólások: 1.088
perl:
Kód:
open FH,"<d:/a.txt";
while(<FH>){
	if(m/^1.*/){
		$line=$_;
		print;
		next;
	}
	if(m/^6.*/){
		@t=split;
		if($temp eq ""){
			$temp=$t[3];
			print;
		}
		else{
			if(!($t[3] eq $temp)){
				print $line;
				print $_;
				$temp=$t[3];
			}	
			else{
				print;
			}		
		}
	}
	else{print;}
}
  #5 (permalink)  
Old 11-23-2008
appsguy616 appsguy616 is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2008
Hozzászólások: 27
szia
A mező a rögzített 10-20 nem a 4. területen feltétlenül. Tudna ön legyen szíves segíteni

Köszönöm
  #6 (permalink)  
Old 11-24-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
Addict
  
 

Join Date: Jan 2007
Helyszín: Варна, България / Milano, Olaszország
Hozzászólások: 2.869
De te hogy a vörös az álláspontok 9-15Nem 10-20!

Vele 9-15 meg kell állapítani:

Kód:
awk '/^1 / { s = $0 }
/^6 / && !t[substr($0,9,7)]++ {
  c++ && $0 = s RS $0
  }1' infile
Ha valóban akar 10-20, Akkor módosítja az érvek át substr.
  #7 (permalink)  
Old 11-24-2008
appsguy616 appsguy616 is offline
Regisztrált felhasználó
  
 

Join Date: Aug 2008
Hozzászólások: 27
Ez működik, köszönöm szépen.
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 10:31 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0