Visit Our UNIX and Linux User Community


Help regarding saving information within a script!


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Help regarding saving information within a script!
# 1  
Old 07-15-2008
Help regarding saving information within a script!

I have 2 files. File 1 exports variables globally, File 2 pulls in the information into itself and displays it. I need to know how to then save the information into the bottom of File 2, allowing for more information to be added at a later date.

The scripts i've written are below.

File 1:
Code:
echo "Please enter your surname"

read name2
export name2

echo "Please enter your first name"

read name1
export name1

echo "Thank you"

sleep 1

echo "Please enter your age"

read age
export age

echo "Please enter your town of birth"

read town
export town

echo "Please enter your previous employer"

read employer
export employer

echo "The script shall now attempt to place your data in a file on the server"
echo
echo "Please Wait..."

ksh template

File 2:
Code:
echo This employee is called echo $name1 echo $name2
echo Age:  echo $age
echo Home Town: echo $town
echo Previous Employer: echo $employer

So to confirm, i need File 2 to take the variables, then write the information to the bottom of File 2, allowing me to run the script again to add more people.

Thank you.
# 2  
Old 07-15-2008
IMHO Something wrong in your logic:
File 2 being just echo to acknoledge the entered data it should be part of file 1 and once you validated, then that part of code should append the data (and only data) to file 2, a true data file . then before to loop, if you wish you could read last entry of file 2 etc...
and reinitialze all your variables to null.
A good practice to avoid confusion is to declare all your variables in capital letters...
# 3  
Old 07-15-2008
Hammer & Screwdriver Two ways of writing output

Code:
echo "This is it" > file1

will replace whatever previously was in file1 with
This is it

Code:
echo "plus some more" >> file2

will append to the end of file2
plus some more

Thus, you will want to use the >> format to append data to the end of the file each program execution.
# 4  
Old 07-15-2008
Thank you for your time and help, I have modified the script accordingly (see below)

Code:
echo "Enter the surname"

read NAME2

echo "Enter the first name"

read NAME1


echo "Please enter the age"

read AGE

echo "Please enter the town of birth"

read TOWN

echo "Please enter your previous employer"

read EMPLOYER

echo "The script shall now attempt to place your data in a file on the server"
echo
echo "Please Wait..."

echo "$NAME2|$NAME1|$AGE|$TOWN|$EMPLOYER" >> template

echo "Success. The data has been added to the date file named 'template'"


echo "Do you need to add another user? (y/n)"
read YES
if [[ $YES = y ]]
        then ksh 2
fi

Which produces a data file like this:

Code:
taylor|Richard|41|new york|DSGi
riley|Richard|21|london|Halfords
Peterson|Nigel|34|Whitby|Jacksons
Wellard|FromEastenders|8|Eastendville|Eastenders
Smith|Jerry|44|chelmsford|none

What's the best method to then manipulate the data file into something readable?
# 5  
Old 07-15-2008
i think you can take delimiter as "|" and do the required manipulation.Also just name it to .tsv
# 6  
Old 07-15-2008
a .csv (comma separated..) would let you import in excel or any sreadsheet...
# 7  
Old 07-15-2008
You can cat the file and place the values in variables. See below....

[root@miux78 ~]# cat data.txt
taylor|Richard|41|new york|DSGi
riley|Richard|21|london|Halfords
Peterson|Nigel|34|Whitby|Jacksons
Wellard|FromEastenders|8|Eastendville|Eastenders
Smith|Jerry|44|chelmsford|none

[root@miux78 ~]# for X in `cat data.txt`
> do
> FNAME=`echo $X|awk -F\| '{ print $1 }'`
> LNAME=`echo $X|awk -F\| '{ print $2 }'`
> AGE=`echo $X|awk -F\| '{ print $3 }'`
> CITY=`echo $X|awk -F\| '{ print $4 }'`
> REGION=`echo $X|awk -F\| '{ print $5 }'`
> echo "Firstname = "$FNAME" Last name = "$LNAME" AGE = "$AGE" CITY = "$CITY" REGION = "$REGION
> done
Firstname = taylor Last name = Richard AGE = 41 CITY = new REGION =
Firstname = york Last name = DSGi AGE = CITY = REGION =
Firstname = riley Last name = Richard AGE = 21 CITY = london REGION = Halfords
Firstname = Peterson Last name = Nigel AGE = 34 CITY = Whitby REGION = Jacksons
Firstname = Wellard Last name = FromEastenders AGE = 8 CITY = Eastendville REGION = Eastenders
Firstname = Smith Last name = Jerry AGE = 44 CITY = chelmsford REGION = none
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #344
Difficulty: Medium
In February 2005, Sun announced the Sun Grid, a grid computing deployment on which it offered utility computing services priced at US$2 per CPU/hour for processing and per GB/month for storage.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk - saving results of external script to variable.

So, I've been playing with speeding up some analysis we do by using multiple threads of awk (actually, mawk, but code-compatible as far as I use it) on multiple CPU cores. So, I have a big data file and I have several copies of exactly the same processor script, written in mawk. I also have a... (8 Replies)
Discussion started by: treesloth
8 Replies

2. Shell Programming and Scripting

shell script for saving oracle database records in variable

i want to retrieve value in each column of each row in sql plus and save them into array variable and echo the value in array variable (2 Replies)
Discussion started by: ramish
2 Replies

3. UNIX for Dummies Questions & Answers

Saving a temporary output within a script

Good morning everyone, i am looking to know how to save the output of a command and reuse it again within a script i already tired this one but it didn't work TEMPDIR=/dir1/dir2 My_command> $TEMPDIR/$TEMPFILE rm $TEMPDIR/$TEMPFILE* it keeps saying "cannot write to a... (15 Replies)
Discussion started by: Portabello
15 Replies

4. Shell Programming and Scripting

Script to compact information !

Hello Group, Could you please help me with a shell script that condense in this case each 12 rows of hour information in only one row per day as following: Final Fields in each row 1.Ticker Name 2. D (Daily) 3. Date 4. Open Price (The open price of the first record of the day) 5. High... (13 Replies)
Discussion started by: csierra
13 Replies

5. Shell Programming and Scripting

script to collect all db information

hi all I am looking for shell script ,by which i need to gather all the DB information in Sybase server . Thanks in advance :) (3 Replies)
Discussion started by: mvsramarao
3 Replies

6. UNIX for Dummies Questions & Answers

Editing & Saving using shell script

Hi, OS: Unix, linux, hp-unix (all unix flavours) Iam trying to change some string values, special characters or otherwise in a file. As of now, i go using vi <filename>, open the file and do the edit manually and save it. Is it possible to write a shell script so that i just run the script... (4 Replies)
Discussion started by: kenkanya
4 Replies

7. UNIX for Dummies Questions & Answers

User information script

Hi Guys, I just started learning unix and was wondering if anyone can assist me with my User info script.The script file lets the user input their personal information (Their name, address, phone number etc...). The script will then ask the user to input the info again if the input is incorrect... (2 Replies)
Discussion started by: rc1138
2 Replies

8. UNIX for Dummies Questions & Answers

Script information needed

Transferring files from one unix server to another one was easy for me. I used a relative path which worked for me. thanks to porter. My question now is that:- 1)Say for instance i have one unix server with name(ABC). PATH: /home/web/props . I have bunch of different users folders in that... (3 Replies)
Discussion started by: chris1234
3 Replies

9. UNIX for Dummies Questions & Answers

backing up file everytime script run and saving other backups

how would i go about creatng a backup of a file everytime a script is run so that the next time it is run the old backup gets pushed back and the most recent backup is 1st. (new)backup.1 (old)backup.2 that kind of idea?? (4 Replies)
Discussion started by: knc9233
4 Replies

10. Shell Programming and Scripting

Script execution information

I want to catch the execution information of a script by calling it from another script.... script_main: #! /bin/ksh ksh -x script2.ksh >> tmplog .... but this doesn't give me anything but the error msgs of script in tmplog. can anyone pls suggest which is the right method? The... (12 Replies)
Discussion started by: manthasirisha
12 Replies

Featured Tech Videos