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
Afgrænset File Hjælp garpal UNIX for dummyer Spørgsmål & svar 6 03-28-2008 09:58 AM
awk - afgrænset output videsh77 UNIX for Advanced & Ekspertsøgning Brugere 1 12-04-2007 10:41 PM
Arbejde med tabulatorsepareret filer shiroh_1982 Shell Programmering og Scripting 1 05-31-2006 03:31 PM
Fjernelse efterfølgende mellemrum fra afgrænset filer djkane Shell Programmering og Scripting 6 03-29-2006 07:11 AM
Konvertere Tab afgrænset fil til kommasepareret fil i Unix charan81 Shell Programmering og Scripting 22 01-20-2006 09:24 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 01-10-2006
hrshah74 hrshah74 is offline
Registreret Bruger
  
 

Join Date: Jan 2006
Stillinger: 3
Afgrænset filer

En af mine filer har registrere i følgende format.
"FSNAME_01102006B_input.csv", 10 ", fornavn, efternavn", "CUST"

Hvordan kan jeg delt denne linje og opbevare værdier i 4 forskellige variabler?

Tak
  #2 (permalink)  
Old 01-10-2006
reborg's Avatar
reborg reborg is offline Forum Staff  
Administrator
  
 

Join Date: Mar 2005
Beliggenhed: Irland
Indlæg: 4.233
Code:
#! /usr/bin/ksh

OLD_IFS="$IFS"
IFS=","

while read field1 field2 field3 field4 ; do
    echo "field1=$field1 field2=$field2 field3=$field3 field4=$field4"
done < file

IFS="$OLD_IFS"
  #3 (permalink)  
Old 01-10-2006
hrshah74 hrshah74 is offline
Registreret Bruger
  
 

Join Date: Jan 2006
Stillinger: 3
Komma i felt 3 er et spørgsmål

Hej
Kommaet i felt 3 skruer op din løsning.
Da jeg kørte scriptet, jeg fik følgende

field1 \u003d "F000GB_01102006A_input.csv" field2 \u003d 10 field3 \u003d "Long Beach field4 \u003d
Accept Corp "," F000GB "

Jeg vil gerne have følgende format
field1 \u003d "F000GB_01102006A_input.csv" field2 \u003d 10 field3 \u003d "Long Beach,
Accept Corp "field4 \u003d" F000GB "
  #4 (permalink)  
Old 01-10-2006
zazzybob's Avatar
zazzybob zazzybob is offline Forum Advisor  
Registreret Geek
  
 

Join Date: Dec 2003
Location: Melbourne, Australien
Stillinger: 2100
Det er * meget * specifikke for input linie du gav i dit oprindelige indlæg. Det er ikke den mest effektive løsning, men det virker ved hjælp af din leveret input.

Code:
[root@MYAUSLV00100118 tmp]# cat ./foo.ksh
#! /bin/bash

while read line; do
    field1=`echo "${line}" | sed 's/^\([^,]*\),.*$/\1/'`
    field2=`echo "${line}" | sed 's/^[^,]*,\([^,]*\),.*$/\1/'`
    field3=`echo "${line}" | sed 's/^[^,]*,[^,]*,\(\"[^\"]*\"\),.*$/\1/'`
    field4=`echo "${line}" | sed 's/^[^,]*,[^,]*,\"[^\"]*\",\([^,]*\).*$/\1/'`
    echo "field1=${field1}"
    echo "field2=${field2}"
    echo "field3=${field3}"
    echo "field4=${field4}"
done < foo.csv

exit 0
[root@MYAUSLV00100118 tmp]# cat ./foo.csv
"FSNAME_01102006B_input.csv",10,"First Name, Last Name"," CUST"
[root@MYAUSLV00100118 tmp]# ./foo.ksh
field1="FSNAME_01102006B_input.csv"
field2=10
field3="First Name, Last Name"
field4=" CUST"
Skål
ZB
  #5 (permalink)  
Old 02-01-2006
hrshah74 hrshah74 is offline
Registreret Bruger
  
 

Join Date: Jan 2006
Stillinger: 3
Næsten lignende format

Hi zazzybob,
Det virker for simple fomat at jeg vedlagt i mit indlæg tidligere. Men hvis det ikke virker for følgende format.

"FSNAME_01102006B_input.csv", 10 "Firstr, Navn, Sidst Navn", "CUSTr navnet"

Forskel fra den første format er ... ekstra mellemrum efter andet og tredje komma. Er det muligt at hente feltværdier for disse record?

Hilsen
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 02:28 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 Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0