The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



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.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Avgrenset Fil Hjelp garpal UNIX for Dummies Spørsmål og svar 6 03-28-2008 09:58
awk - avgrenset output videsh77 UNIX for Advanced & ekspertbrukere 1 12-04-2007 10:41
Arbeide med tabulatordelt filer shiroh_1982 Shell programmering og Skripting 1 05-31-2006 03:31
Fjerne etterfølgende mellomrom fra avgrenset filer djkane Shell programmering og Skripting 6 03-29-2006 07:11
Konvertering tabulatordelt fil til semikolondelt fil i Unix charan81 Shell programmering og Skripting 22 01-20-2006 09:24

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-10-2006
hrshah74 hrshah74 is offline
Registrert bruker
  
 

Bli Date: Jan 2006
Innlegg: 3
Avgrenset filer

En av mine filer har posten i følgende format.
"FSNAME_01102006B_input.csv", 10 "Fornavn, Etternavn", "Kunde"

Hvordan kan jeg delte denne linjen, og store verdier i 4 forskjellige variabler?

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

Bli Date: Mar 2005
Sted: Irland
Innlegg: 4211
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
Registrert bruker
  
 

Bli Date: Jan 2006
Innlegg: 3
Komma i felt 3 er et problem

Hei
Kommaet i feltet 3 skruer opp løsning.
Når jeg kjørte skriptet, fikk jeg følgende

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

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

Bli Dato: desember 2003
Sted: Melbourne, Australia
Innlegg: 2100
Dette er * meget * spesifikke for inngangsstrøm du ga i det opprinnelige innlegget. Det er ikke den mest effektive løsningen, men det fungerer med din leveres inn.

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
Registrert bruker
  
 

Bli Date: Jan 2006
Innlegg: 3
Nesten lignende format

Hi zazzybob,
Det fungerer for enkle fomat som jeg festet i mitt innlegg tidligere. Men hvis det ikke fungerer på følgende format.

"FSNAME_01102006B_input.csv", 10 ", Firstr, Navn Sist, Name", "CUSTr navn"

Forskjellen fra den første formatet ... ekstra mellomrom etter andre og tredje komma. Er det mulig å hente feltet verdier for disse posten?

Hilsen
Closed Thread

Hugseliste

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




Alle klokkeslett er GMT -4. Nå er klokken 06:40.


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-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0