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
  #8 (permalink)  
Old 11-24-2008
Registreret Bruger
 

Join Date: Aug 2008
Stillinger: 27
Hej
Jeg har et andet spørgsmål om samme fil. Jeg ønsker at kopiere et område på position 9:15 på linje begynder med 6 (i rød farve) og erstatte det med det område på position 10:14 on line begyndende med 1 (i blåt)

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


så produktionen vil blive


1 test 1 5363653 7643743
6 ja 3 5363653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
7 323323 4343434435 545
1 test 1 5373653 7643743
6 ja 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
6 ja 3 5373653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
1 test 1 5383653 7643743
6 ja 3 5383653 373833
7 323323 4343434435 545
8 4345435435 5454545 55
Sponsorerede links
  #9 (permalink)  
Old 11-25-2008
radoulov's Avatar
--
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Indlæg: 3.220
Overvejer din eksempel (forudsat ingen @ i data):

(brug nawk eller /usr/xpg4/bin/awkSolaris)

Code:
awk '/^1 / { s = $0; next }
s { sub(/........./, "&@", s)         
    sub(/@....../, substr($0, 9, 7), s)
    $0 = s RS $0; s = 0
  }
1' infile

Du kan skrive kode med Re-interval og gensub hvis din awk gennemførelsen understøtter dem.
Hvis jeg vidste sed, Ville jeg have brugt det i dette tilfælde .
  #10 (permalink)  
Old 11-25-2008
radoulov's Avatar
--
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Indlæg: 3.220
En sed version:


Code:
sed '/^1 /{
N
s/\(.\{9\}\)\(.\{6\}\)\(.*\n\)\(.\{8\}\)\(.\{7\}\)/\1\5\3\4\5/
}' infile

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
Hvordan at indsætte og slette enhver linje efter ønske linje RahulJoshi Shell Programmering og Scripting 4 10-20-2008 11:27 AM
Behov Script at indsætte koloner i hver linje i filen canopus15 UNIX for dummyer Spørgsmål & svar 4 08-05-2008 09:03 PM
indsætte en linje efter specifik linje namishtiwari Shell Programmering og Scripting 8 05-21-2008 03:16 PM
Sådan indsættes nye linje i data filen ved hjælp af script Sona UNIX for dummyer Spørgsmål & svar 2 08-22-2006 02:17 AM
Indsætte en linje som den første linje i et meget stort arkiv hyle UNIX for Advanced & Ekspertsøgning Brugere 3 03-09-2005 01:22 AM



Alle tidspunkter er GMT -4. Den tid er nu 07:45 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