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
Ændring af en kolonne af afgrænset fil kolonne til fast bredde kolonne manneni Prakash Shell Programmering og Scripting 5 06-22-2009 06:27 AM
Udskiftning kolonne med kolonne i en anden fil manneni Prakash UNIX for dummyer Spørgsmål & svar 1 06-25-2008 12:20 AM
Hvordan læser man kolonnen og udskrive værdier under denne kolonne gemini106 Shell Programmering og Scripting 6 03-28-2008 07:05 AM
Sådan kontrolleres Null-værdier i en fil kolonne efter kolonne, hvis kolonnerne er ikke NULLs Mandab Shell Programmering og Scripting 7 03-15-2008 09:57 AM
Erstat 10. kolonne med en ny kolonne --- Terriblly travlt ahmedwaseem2000 Shell Programmering og Scripting 2 09-06-2005 02:10 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 Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 10-10-2008
Mish_99 Mish_99 is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 10
kolonne håndtering i awk

Kære Scripting eksperter,

Jeg har et problem, som jeg ikke kan få mit hoved rundt og spekulerede på, om nogen kan hjælpe mig. Jeg har to filer "fil1" og "fil2" og jeg ønsker at erstatte en kolonne fra fil 1 med en kolonne med fil2. (Hvor fil to har mange kolonner). se eksempel .. ive forsøgt at bruge klippe og indsætte, men fik myslef i et rod ...

fil1 fil2
1 9 66 8 A
2 8 3 9 B
3 66 4 25 C
4 66 2 6 D
7 4 3 3 E
5 4 5 45 F

Output: --
1 66 8 A
2 3 9 B
3 4 25 C
4 2 6 D
7 3 3 E
5 5 45 F

Findes der en nem måde jeg kan gøre dette i awk? Ideelt set ville jeg gerne have en linje, som jeg kunne påberåbe sig at bruge systemet kommando i en perl script.

Tak


Mish
  #2 (permalink)  
Old 10-10-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Location: Tyskland
Indlæg: 2.296
Beklager, men jeg kan ikke gøre ud af, hvilken del er fra fil1, og som fra fil2. Kan du sende dem på separate linjer og bruge dem code tags venligst ^ ^
Også det allerede lugter "join" ville være et godt valg for værktøj til brug for det.
  #3 (permalink)  
Old 10-10-2008
Mish_99 Mish_99 is offline
Registreret Bruger
  
 

Join Date: Aug 2008
Stillinger: 10
Hej, Osrry til at håbe, det hjælper med afklaring af spørgsmål


Code:
File 1
1
2
3
4
5
6


Code:
File 2
 9    66 8  a
 8    3  9  b
 66   4  25 c
 66   2  6  d 
 4    3  3  e
 4    5  45 f


Code:
output
  1    66 8  a
  2    3  9  b
  3    4  25 c
  4    2  6  d 
  5    3  3  e
  6    5  45 f

venligste angår


Mish
  #4 (permalink)  
Old 10-10-2008
danmero danmero is online now Forum Advisor  
  
 

Join Date: Nov 2007
Beliggenhed: 45.48-73.63
Indlæg: 1.439
Det er et forspring:

Code:
awk 'NR==FNR{_[NR]=$0;next;}{$1=_[FNR];print}' file1 file2

  #5 (permalink)  
Old 10-10-2008
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
narkoman
  
 

Join Date: Jan 2007
Beliggenhed: Варна, България / Milano, Italia
Indlæg: 2.915
Jeg ville bruge Perl direkte:


Code:
$ head file*
==> file1 <==
1
2
3
4
5
6

==> file2 <==
 9    66 8  a
 8    3  9  b
 66   4  25 c
 66   2  6  d 
 4    3  3  e
 4    5  45 f
$ perl -e'
  open F1,"<file1"or die$!;open F2,"<file2"or die$!;
  s/([^\s]+)\s*/<F1>/eand s/\n/\t/and print while<F2>;
  close F1;close F2'         
 1      66 8  a
 2      3  9  b
 3      4  25 c
 4      2  6  d 
 5      3  3  e
 6      5  45 f


Senest redigeret af radoulov; 10-10-2008 kl 09:43 AM.. Årsag: Refactored (stadig helt nyt for Perl ...)
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 11:56 AM.


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