The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Delimited Bestand Help garpal UNIX voor Dummies Questions & Answers 6 03-28-2008 09:58
awk - afgebakend uitgang videsh77 UNIX for Advanced & Expert Gebruikers 1 12-04-2007 10:41 PM
Werken met door tabs gescheiden bestanden shiroh_1982 Programmeren en Shell Scripting 1 05-31-2006 03:31 PM
Removing naloopspaties uit delimited bestanden djkane Programmeren en Shell Scripting 6 03-29-2006 07:11
Converting tabs gescheiden bestand Komma gescheiden bestand in Unix charan81 Programmeren en Shell Scripting 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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-10-2006
hrshah74 hrshah74 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2006
Posten: 3
Delimited bestanden

Een van mijn bestanden heeft record in het volgende formaat.
"FSNAME_01102006B_input.csv", 10 ", voornaam, achternaam", "Cust"

Hoe kan ik deze lijn splitsen en opslaan van waarden in 4 verschillende variabelen?

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

Join Date: Mar 2005
Locatie: Ierland
Berichten: 4.242

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
Geregistreerde gebruiker
  
 

Join Date: Jan 2006
Posten: 3
Komma in gebied 3 is een kwestie

Hoi
De komma in veld 3 schroeven van uw oplossing.
Toen ik liep het script, ik heb volgende

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

Ik wil volgende formaat
veld1 \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  
Geregistreerd Geek
  
 

Join Date: december 2003
Locatie: Melbourne, Australië
Berichten: 2100
Dit is * zeer * specifiek voor de input lijn die u heeft in uw oorspronkelijke bericht. Het is niet de meest efficiënte oplossing, maar het werkt met uw input geleverd.


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"

Sante
ZB
  #5 (permalink)  
Old 02-01-2006
hrshah74 hrshah74 is offline
Geregistreerde gebruiker
  
 

Join Date: Jan 2006
Posten: 3
Bijna vergelijkbaar formaat

Hi zazzybob,
Het werkt voor eenvoudige fomat dat ik dat in mijn bericht eerder. Maar als het niet werkt voor de volgende indeling.

"FSNAME_01102006B_input.csv", 10 ", Firstr, naam, Laatste, Naam", "CUSTr benaming"

Verschil ten opzichte van het eerste formaat is ... extra spaties na de tweede en derde komma. Is het mogelijk op te halen veldwaarden voor deze plaat?

Groeten
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:02.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0