LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 10-19-2013, 09:29 PM   #1
Dafydd
Member
 
Registered: Oct 2008
Posts: 344

Rep: Reputation: 29
need to create a humongous data base


I need to create a humongous data base to test some code.

How do I get the output of
Code:
 head -$LINE $1 | tail -1
into a variable to be used later?
The current output is
Quote:
Milissa Greener
Temple, TX
7/1/2013,,
Rebecca Loeby
La Grange, TX
4/28/2013,,
Carrie Elkins
Bastrop , TX
8/23/2013,,
and I would like to be
Quote:
8/23/2013,Carrie Elkins,Bastrop, TX
Code:
#!/bin/bash

function randomline() {
RAND=`cat /proc/sys/kernel/random/uuid | cut -c1-4 | od -d | head -1 | cut -d' ' -f2`
LINES=`cat "$1" | wc -l`
LINE=`expr $RAND % $LINES + 1`
head -$LINE $1 | tail -1
}

i=0
loop_count=7
while [ "$i" -lt "$loop_count" ];  do
    gigday=$(($RANDOM%30));
    gigmonth=$(($RANDOM%12));
    gigyear=2013;
 
    randomline "artists";
    randomline "towns";
	
	echo "$gigmonth"/"$gigday"/"$gigyear","$gigartist","$gigtown";
	

	i=$(($i + 1));
  
done
The content of 'artists' and 'towns' take this format.
artosts"
Quote:
Amy Speace
emily elbert
Raina rose
Rebecca Loeby
Carrie Elkins
Danny Schmidt
Kacie Jones
Milissa Greener
Susan Gibson
Jana Pochop
Marcia Ball
Marian Call
Sara Hickman
Ruby Jane
towns:
Quote:
Dallas, TX
Ft Worth, TX
Waco, TX
Temple, TX
Austin, TX
San Antonio, TX
La Grange, TX
Bastrop , TX
Austin, TX
Houston, TX
Galveston, TX
Pt Auther, TX
Odessa, TX
Conroe, TX
The Woodlands, TX
Huntsville, TX
Help would be appreciated.
Dave
 
Old 10-20-2013, 05:14 AM   #2
druuna
LQ Veteran
 
Registered: Sep 2003
Posts: 10,532
Blog Entries: 7

Rep: Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405
Change:
head -$LINE $1 | tail -1
to
retValue=$(head -$LINE $1 | tail -1)

Add the following bold lines:
Code:
    randomline "artists";
    gigartist="$retValue"
    randomline "towns";
    gigtown="$retValue"
About your randomline function: This can be done simpler using the shuf or rl command.
Using shuf:
Code:
function randomline() {
  retValue=$(shuf -n 1 $1)
}
Using rl:
Code:
function randomline() {
  retValue=$(rl -c 1 $1)
}
 
1 members found this post helpful.
Old 10-20-2013, 04:44 PM   #3
Dafydd
Member
 
Registered: Oct 2008
Posts: 344

Original Poster
Rep: Reputation: 29
Thank you for the reply and solution I got close several times. I tried with an ' and a " bu n cneve a (,

Everything works as planed. Now to try your other recommendations. I did not know that shuf amd rl existed. Maybe I should spend some time and go back and reread my book, Linux in a Nutshell
 
Old 10-21-2013, 01:40 AM   #4
druuna
LQ Veteran
 
Registered: Sep 2003
Posts: 10,532
Blog Entries: 7

Rep: Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405Reputation: 2405
You're welcome.

BTW: These 2 are the same, the second one is being preferred:
Code:
`head -$LINE $1 | tail -1`
$(head -$LINE $1 | tail -1)
Also have a look at this thread here at LQ: notation difference: var=`command` and var=$(command)

About shuf and rl: The shuf command is part of coreutils and should be present on most, if not all modern Linux distro's. rl might not be present out-of-the-box.
 
Old 10-21-2013, 11:03 AM   #5
Dafydd
Member
 
Registered: Oct 2008
Posts: 344

Original Poster
Rep: Reputation: 29
Quote:
Originally Posted by druuna View Post

About shuf and rl: The shuf command is part of coreutils and should be present on most, if not all modern Linux distro's. rl might not be present out-of-the-box.
This was my case. I used shuf, rl was a 'command not found'.

Thanks for the link.
D
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to allow each user can create its own data base? px87 Linux - Server 2 02-07-2012 11:11 PM
need data base for fedora 12 lalithasankh Linux - Software 18 07-14-2010 04:26 PM
Data base C# archShade Programming 3 05-08-2007 01:35 PM
Data Base Software Help Ingla Linux - Software 15 03-02-2006 04:19 PM
Data Base Software sgtbob Linux - Software 2 04-14-2005 05:00 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 12:42 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration