The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Sammanfoga 3 kolumner sida vid sida amaulana Shell-programmering och Skript 7 02-08-2009 02:50
Sammanfoga 2 textfiler till en textfil sida vid sida ahinkebein Shell-programmering och Skript 15 02-04-2009 11:28
Hur man slår ihop två. Xls-filer sida vid sida i en enda. Xls jagadish99 Shell-programmering och Skript 2 09-24-2008 07:44
Hur man slår ihop två. Xls-filer sida vid sida i en enda. Xls jagadish99 Shell-programmering och Skript 0 08-27-2008 07:38
Hur skriva ut två sql query output sida vid sida i Excel prasee Shell-programmering och Skript 6 09-08-2007 03:20

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 02-11-2009
ks_reddy ks_reddy is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 24
Script för att placera valda kolumner från en grupp av filer sida vid sida i en ny fil

Hej Alla,

Jag behöver ett shell /perl skript för att sätta valda kolumner från alla filer beläget i en katalog och placera dem i en ny fil sida vid sida.

Fil1:
abcd
2 3 4 5
fghi
..........
Fil2:

I II III IV
WXYZ
..............
och så vidare många filer finns det ...

Min Utgång för valda kolumner (exempel 1 och 2) från källfiler bör:

ab I II .......................... osv (här sista filen innehåll)
2 3 W X. ......................... osv (här sista filen innehåll)
fg
............ Så om

Tack på förhand ........
  #2 (permalänk)  
Old 02-11-2009
quirkasaurus's Avatar
quirkasaurus quirkasaurus is offline
Registered User
  
 

Join Date: Jan 2009
Ort: Canton, Michigan
Inlägg: 373
Du kan ta kolumner med:

awk '(print $ 1, $ 2)' file_nm> file_nm_out

och kombinera (upp till 12 - men vissa tecken kan få sväljas upp)
2-spalt-output-filer med pasta:

klistra fil1 fil2> file_comb.1

Men, med massor av filer ... Detta kommer att bli lite av en utmaning.

Jag är beredd att satsa det finns en enklare metod för ditt verkliga problemet.

innebörden - varför gör de första 2 kolumner måste visas i en ny fil?
och hur många filer är vi egentligen talar om?
vad som är slutdestinationen för denna datafil vi bygga?
hur var det ursprungliga filer som skapats i första hand?

det verkar som om vi designar något av dessa steg, vi skulle kunna utforma en bättre end-to-end process.

Kanske kan ni räkna själva frågan?
  #3 (permalänk)  
Old 02-11-2009
danmero danmero is online now Forum Advisor  
  
 

Join Date: Nov 2007
Ort: 45.48-73.63
Inlägg: 1.428
Kod:
awk 'NR==FNR{_[NR]=$0;next}{print $1,$2,_[FNR]}' file2 file1
  #4 (permalänk)  
Old 02-12-2009
ks_reddy ks_reddy is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 24
Klistrar kolumnerna i ny fil som det är ... Brådskande ...

Jag vill placera den markerade kolumn (er) från alla filer (t.ex. col 2 från alla filer tillsammans) från en katalog, inte bara två filer ....

Jag försökte detta kommando: klistra | awk '(print $ 2)' *
Men jag har produktionen efter varandra i en ny fil.

$ 2 från och med den 1 fil
$ 2 från 2:a fil
.............. osv ..

Men vad jag behöver $ 2 från och med den 1 fil <tab> $ 2 från 2:a fil <tab> .............. så vidare ....

Jag har tusentals filer med mig Alla liknar filer. De innehåller 34 kolumner och 1000 rader. Snälla hjälp mig ...

Slutligen måste jag tomten en kolumn från en fil mot andra kolumner från andra filer, beroende på kolumnrubriken.
  #5 (permalänk)  
Old 02-12-2009
ce9888 ce9888 is offline
Registered User
  
 

Join Date: Aug 2008
Ort: Montreal, Qc, CA
Inlägg: 98
awk '(printf "\ t", $ 2)' *
  #6 (permalänk)  
Old 02-12-2009
ks_reddy ks_reddy is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 24
Detta kommando awk '(printf "\ t", $ 2)' fungerade inte för mig. Jag försökte redan. Kan någon förklara varför?
  #7 (permalänk)  
Old 02-12-2009
rakeshou rakeshou is offline
Registered User
  
 

Join Date: maj 2007
Inlägg: 75
Har du provat att klistra kommando?
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:00.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0