Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
Google Site



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Reply
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-28-2009
Registrert bruker
 

Ble medlem: 2009 okt
Innlegg: 10
Question Splitting filer fra én fil

Hei,

Jeg har en input-fil som:


Code:
111
abcdefgh
asdfghjk
dfghjkl
222
aaaaaaa
bbbbbb
333
djfhfgjktitjhgfkg
444
djdhfjkhfjkghjkfg
hsbfjksdbhjkgherjklg
fjkhfjklsahjgh
fkrjkgnj

Jeg vil lese denne inndatafilen og foreta separate utdatafiler med overskriften som numric verdi som "111" og resten av alfabetiske data etter det. lignende, jeg vil gjerne ha 3 andre filer med numerisk header (som 222, 333, 444) og resten av data følge dem.

Jeg har laget følgende script, men det hjelper ikke ..

Code:
#!/usr/bin/ksh
set -x
linecount=`cat testfile|wc -l`
numval=`cat testfile|grep ^[0-9]|wc -l`
i=0
set -A arr `awk '/[0-9]/{print NR}' testfile`
while [ $linecount -gt 0 ]
do
   while [ $i -le $numval ]
   do
     val=`echo ${arr[i]}`
     cat testfile|head -${val} > file${i}
     i=`expr $i + 1`
   done
     linecount=`expr $linecount - 1`
done


Sist endret av Franklin52; 10-28-2009 kl 06:56.. Grunn: Vennligst bruk koden koder!
Sponsede lenker
  #2 (permalink)  
Old 10-28-2009
Moderator
 

Bli Date: Feb 2007
Bosted: Nederland
Innlegg: 4962
Prøv dette:


Code:
awk '/[0-9]/{of=$0}{print > of}' inputfile

  #3 (permalink)  
Old 10-28-2009
Registrert bruker
 

Ble medlem: 2009 okt
Innlegg: 10
Vil du at jeg skal sette dette i skriptet mitt

Jeg prøvde å kjøre kommandoen separat. hvor vil 4 o / p filer lages?
  #4 (permalink)  
Old 10-28-2009
Moderator
 

Bli Date: Feb 2007
Bosted: Nederland
Innlegg: 4962
Sitat:
Originally Posted by saltysumi View Post
Jeg prøvde å kjøre kommandoen separat. hvor vil 4 o / p filer lages?
Du trenger ikke å bruke skript, er oneliner tilstrekkelig. Filene skal være i den gjeldende katalogen.

Hilsen
  #5 (permalink)  
Old 10-28-2009
Registrert bruker
 

Ble medlem: 2009 okt
Innlegg: 10
Dette er utmerket

Takk Frank .. Dette fungerer helt fint, men kan du vær snill enuf å forklare meg dette "awk" statement
  #6 (permalink)  
Old 10-29-2009
Registrert bruker
 

Bli Date: Mar 2009
Innlegg: 144
Her går forklaring


Code:
awk  '...' abc.txt

for alle verdier i abc.txt


Code:
/[0-9]/{of=$0}

hvis linjen kamper 0,1,2 ... 9 så variabel av er satt til verdien (dvs. filnavnet er satt den numeriske verdien)


Code:
{print > of}

print linjen til filnavnet satt i variabelen 'av'

HTH,
PL
  #7 (permalink)  
Old 10-29-2009
Registrert bruker
 

Ble medlem: 2009 okt
Innlegg: 10
Takk Daptal

Men hvordan awk sørger for at det har å splitte til neste nummer forekomst ... liker hvordan vite hva som er delimiter ...
Sponsede lenker
Reply

Hugseliste

Tags
dele, splitting fil

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er Av


Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
hjelpe dele en fil i flere filer i bash elinenbe Shell programmering og Skripting 2 04-30-2009 12:37
splitte stor fil i mindre filer vsnreddy UNIX for Dummies Spørsmål og svar 1 11-16-2008 09:09
Splitting tekstfil til flere andre filer ved hjelp sed. JeffV Shell programmering og Skripting 3 03-14-2008 03:34
deling av filer basert på teksten i filen matrix1067 Shell programmering og Skripting 1 01-30-2006 08:45
Splitting stor fil i mindre filer dncs Shell programmering og Skripting 4 06-08-2005 12:02



Alle klokkeslett er GMT -4. Nå er klokken 05:41.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0