help on a datatabase-like script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help on a datatabase-like script
# 1  
Old 11-10-2008
help on a datatabase-like script

hello,
I need help on making a script that does the following job:
read an input file, sort it, then when finds lines with the same firt part (20 chars) count them (in the future I'd like to also make other sums)

can you please help me?
thanks a lot to all of you


#!/bin/ksh93
clear

#nl=`wc -l /usr1/air/tmp/1.txt`
#arrei_nl=($nl)
#NL=${arrei_nl[0]}
#echo $NL
(this part i suppose to be useless)

sort /usr1/air/tmp/1.txt > /usr1/air/tmp/2.txt

while read line
do
if [[ $line[i]:0:20} == ${ $line[i+1]:0:20} ]]
then
countl+1
:
else
echo $countl
fi
done < /usr1/air/tmp/2.txt



thanks again

Elio
# 2  
Old 11-10-2008
Code:
awk ' arr[$0]++
        END{for (i in arr  ){print i,arr[i] }} ' inputfilename

# 3  
Old 11-10-2008
thank you very much for your help,
I hoped you to find a solution without awk command (I'm not very used at it)...'cause now I don't know how to handle it Smilie
the next step would have been to check only the firt 20char and sum a number in the line...something like this:

AAA 1000
BBB 399
AAA 500
CCC 2000

result:
AAA 1000
AAA 500
tot 1500

BBB 399
tot 399

CCC 2000
tot 2000


thank you again
# 4  
Old 11-10-2008
awk will be more helpful, don't shy away from it

to see if there are duplicate records where first 20 characters match

cut -c1-20 filename | sort | uniq -d > tempfile

step 2:
for a in 'cat tempfile'
grep -c $a filename
# 5  
Old 11-10-2008
thanks paresh...I'm just starting to script...I think i can handle a lot ot other commands...but I've found awk so difficult to understand...
just to make an example...I don't know even how to cut and paste what you give to me Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question