Sponsored Content
Top Forums Shell Programming and Scripting assign colon delimited strings to variables Post 302280783 by NewSolarisAdmin on Tuesday 27th of January 2009 02:32:38 PM
Old 01-27-2009
assign colon delimited strings to variables

Man it has been too long since I have had to do this type of stuff...

OK I have a file with lines in it looking like this:
bob:johnson:email@email.com (most lines)

john:F.:doe:email2@email.com (but some are like this)

I need to loop through and assign vars to the values:

var Fname = bob
var Lname = johnson
var email = email@email.com

If there is a middle initial I want to toss it and move on and get the last name from the next (3rd) field.


I have tried this:
Code:
#!/bin/bash

while read line
do
        Fname=`cut -d: -f1`
        Field2=`cut -d: -f2`
                if [ "$Field2" = "##" ]; then
                        Lname=`cut -d: -f3`
                else
                        Lname=$Field2
                fi

        echo -e  "First Name is :$Fname\n"
        echo -e  "Last Name is :$Lname\n"
done < test


BTW this code is tabbed to be easier to read but this board is taking them out of it for some reason...

Needless to say it isn't working or I would not be posting this....

I get this as an output for example:

First Name is :Linda
Wendy
Esther
Pamela
Richard
William
Leona
Anne
Elaine

Last Name is :



Any help is appreciated.

Last edited by joeyg; 01-27-2009 at 03:38 PM.. Reason: Applied codetags to make easier to read
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Assign variables with cut

I need to read a file (a list) and assign the value to a variable (for each line), I'm looping until the end of the file. My problem is, I want to assign 2 separate variables from the list. The process I'm using is: awk '{print $3}' file1 > file2 awk '{print $4}' file1 > file3 cat file2... (2 Replies)
Discussion started by: douknownam
2 Replies

2. Shell Programming and Scripting

Assign script parameters to variables

Hi, I have a bash script that accepts some parameters as input, like: sh script.sh first second third ..... I want to save these parameters as different variables, something like: VAR1=first VAR2=second etc I tried this, but apparently it didn't worked....... (16 Replies)
Discussion started by: giorgos193
16 Replies

3. Shell Programming and Scripting

Assign value to external variables from awk

Hello I have a text file with the next pattern Name,Year,Grade1,Grade2,Grade3 Name,Year,Grade1,Grade2,Grade3 Name,Year,Grade1,Grade2,Grade3 I want to assign to external variables the grades using the awk method. After i read the file line by line in order to get the grades i use this ... (2 Replies)
Discussion started by: Spleshmen
2 Replies

4. Shell Programming and Scripting

How to read a delimited string and assign fields to incremented variables?

How can I read a string delimited on spaces and assign the fields to incremented variables. For example: Given $exts= txt dat mov I want to read in $exts and have "txt" "dat" and "mov" assigned to incremented variables like $ext1, $ext2, etc. I would like to do this in a loop so that I can... (4 Replies)
Discussion started by: runit
4 Replies

5. Shell Programming and Scripting

match and assign variables

Hi guys, I'm currently writing a script for automating a FreeBSD ZFS setup (ZFSonRooT). I got stuck at one point for raidz(1,2 a.k.a raid5,6) and am in need of assistance. This is what I need. example: #!/bin/sh <- must stay sh echo -n "hdd list: " read hdd_list echo -n "hdd label list:... (2 Replies)
Discussion started by: da1
2 Replies

6. Shell Programming and Scripting

splitting tab delimited strings

hi i have a requirement to input a string to a shell script and to split the string to multiple fields, the string is copied from a row of three columns (name,age,address) in an excel sheet. the three columns (from excel) are seperated with a tab when pasted in the command prompt, but when the ... (2 Replies)
Discussion started by: midhun19
2 Replies

7. Shell Programming and Scripting

Need a script to convert comma delimited files to semi colon delimited

Hi All, I need a unix script to convert .csv files to .skv files (changing a comma delimited file to a semi colon delimited file). I am a unix newbie and so don't know where to start. The script will be scheduled using cron and needs to convert each .csv file in a particular folder to a .skv... (4 Replies)
Discussion started by: CarpKing
4 Replies

8. Shell Programming and Scripting

Convert Columns in Rows delimited by a strings

Hi Gurus, I have a file that contain inventory information from someones computers: UserName domain\user1 DNSHostName machine1 Caption Microsoft Windows 7 Professional OSArchitecture 64 bits SerialNumber XXX Name HP EliteBook Revolve 810 G1 NumberOfProcessors 1 Name Intel(R)... (2 Replies)
Discussion started by: gilmore666
2 Replies

9. Shell Programming and Scripting

A better way to assign values to variables - shell

so i've been used to doing it this way: SVAL=$(echo "7 3 2 38 3" | awk '{print $2}') 4VAL=$(echo "4:21:N:3" | awk -F":" '{print $4}') I know there's a way to do it by putting the value in an array and assigning it that way. but i'm not sure how to do it efficiently. any ideas? i dont... (9 Replies)
Discussion started by: SkySmart
9 Replies

10. Shell Programming and Scripting

Assign Unknown Values to Variables

i have a program that spits out a certain number of values. i dont know the number of values. they can be 4, 10, 7, 20, no idea. but, i want to be able to assign each of the value returned by this program to a variable. in the latest instance, the program gave the following 6 values: 4... (8 Replies)
Discussion started by: SkySmart
8 Replies
COLLECTD-EMAIL(5)						     collectd							 COLLECTD-EMAIL(5)

NAME
collectd-email - Documentation of collectd's "email plugin" SYNOPSIS
# See collectd.conf(5) LoadPlugin email # ... <Plugin email> SocketGroup "collectd" SocketPerms "0770" MaxConns 5 </Plugin> DESCRIPTION
The "email plugin" opens an UNIX-socket over which one can submit email statistics, such as the number of "ham", "spam", "virus", etc. mails received/handled, spam scores and matched spam checks. This plugin is intended to be used with the Mail::SpamAssassin::Plugin::Collectd SpamAssassin-plugin which is included in contrib/, but is of course not limited to that use. OPERATION
This plugin collects data indirectly by providing a UNIX-socket that external programs can connect to. A simple line based protocol is used to communicate with the plugin: o E-Mail type (e.g. "ham", "spam", "virus", ...) and size (bytes): e:<type>:<size> If "size" is less than or equal to zero, "size" is ignored. o Spam score: s:<value> o Successful spam checks (e.g. "BAYES_99", "SUBJECT_DRUG_GAP_C", ...): c:<type1>[,<type2>,...] Each line is limited to 256 characters (including the newline character). Longer lines will be ignored. SEE ALSO
collectd(1), collectd.conf(5) AUTHOR
The "email plugin" has been written by Sebastian Harl <sh at tokkee.org>. The SpamAssassin-plugin has been written by Alexander Wirt <formorer at formorer.de>. This manpage has been written by Florian Forster <octo at verplant.org>. 5.1.0 2012-04-02 COLLECTD-EMAIL(5)
All times are GMT -4. The time now is 01:44 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy