The UNIX and Linux Forums  

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
KSH - read file vezető terek momi Shell programozás és Scripting 2 03-17-2008 03:02 PM
Stripping vezető szóközöket a jobbra neve Marcia P A UNIX a dummies Kérdések és válaszok 2 02-28-2006 10:32 PM
Removing vezető és szóközök adatok között az XML-címkéket. jhmr7 A UNIX a dummies Kérdések és válaszok 2 05-18-2005 11:27 AM
Strip vezető és szóközök csak egy shell változó beágyazott szóközöket jerardfjay Shell programozás és Scripting 6 03-07-2005 02:24 PM
Vezető és szóközök sleepster Shell programozás és Scripting 7 10-29-2003 11:48 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 03-15-2008
lijojoseph lijojoseph is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2008
Hozzászólások: 6
eltávolításához vezető szóközöket a sor

Szia barátok

Kell egy kis segítség,

Nekem van egy fájl, ami a következőképpen néz ki

TEMP 014637065 014637065 517502 517.502 RTE
517502 517502 RTE
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

ha már van egy vezető hely a sorban (itt van egy hely a kezdő vonal 2. és a 6. ami nem feltétlenül látható thread), azt el kell távolítani, és hozzáfűzi, hogy az előző sorban. Ez azt jelenti, akarom a kimeneti fájl, amely úgy néz ki mint
TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS
  #2 (permalink)  
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.315
Kód:
awk '/^ /{print p $0; p=""; next}
p !~ /^ / && p {print p}
{p=$0}
END{if(!/^ /) {print}}
' file
Üdvözlettel

Last edited by Franklin52; 03-15-2008 at 07:34 AM.. Reason: modifation kód
  #3 (permalink)  
Old 03-15-2008
lijojoseph lijojoseph is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2008
Hozzászólások: 6
Idézet:
Originally Posted by Franklin52 View Post
Kód:
awk '/^ /{print p $0; p=""; next}
p !~ /^ / && p {print p}
{p=$0}
END{if(!/^ /) {print}}
' file
Üdvözlettel
Hello Franklin,
Próbáltam a fenti lehetőséggel, és ez lehetőséget biztosít szintaktikai hiba a második sorban
hibaüzeneteket
*******
awk: syntax error near line 1
awk: bailing a közeljövőben sor 1
*******
azt is próbáltam az awk '/ ^ / p (print $ 0;) (p next \u003d $ 0) END (print)', de itt ez nem fogja figyelembe venni a vonalak nélkül vezető helyet

pls help

Last edited by lijojoseph; 03-15-2008 at 09:12 AM..
  #4 (permalink)  
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.315
Használja nawk / vagy usr/xpg4/bin/awk Solaris

Üdvözlettel
  #5 (permalink)  
Old 03-15-2008
lijojoseph lijojoseph is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2008
Hozzászólások: 6
Smile

Frank,
köszönet nagyon működik tökéletesen nawk.

Itt is, nekem van egy kis probléma
Ha vannak vezető terek a 2 egymást követő sorok akkor nem mérlegeli a második ..
ez
*** Bemeneti fájl
TEMP 014637065 014637065 517502 517.502 RTE
517502 517502 RTE
226
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

ha a vezető terek vannak a sorok 2 és 3, akkor a kimenet így kell kinéznie
TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 2634
AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635
ANOTHER_TEST 12 5433 FTHH 5653 833
TEST 123 123 3235 5353 353 53 35 353 535 3
YTERS GJK JKLS

Can you pls help?

Is tud csak explane awk nekem a kódot, ha van időd
Még egyszer nagyon köszönöm a segítséget youe
  #6 (permalink)  
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2007
Hozzászólások: 4.315
Próbáld ki ezt:

Kód:
awk '
/^ /{p=p $0;next}
p{print p}
{p=$0}
END{print p}
' file
Magyarázat a kód:

/ ^ / (P $ p \u003d 0;) next # Összefűzheti sorok kezdődik egy szóközt az előző sorban, és olvassa el a következő sort

A következő parancsok hatása a többi sor:

print p (p) # Nyomtatás az előző sor, ha meg
(p \u003d $ 0) # Set p
END (print p) # Nincs több sor, print előző sor (ok)

Használja nawk / vagy usr/xpg4/bin/awk Solaris

Üdvözlettel
Closed Thread

Könyvjelzõk

Címkék
Solaris

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 04:40 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