Shell Programming and Scripting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Programming and Scripting
# 8  
Old 02-20-2008
check this out

Code:
#!/bin/sh

while read myline
do
    var=`echo ${myline} | cut -d'|' -f 1`;
    echo ${myline} >> ${var}.txt;
done < ./input.txt

cheers
maverix
# 9  
Old 02-20-2008
my input file will be

ABCDEFGH|0987654321234567
ABCDEFGH|0987654321234523
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
POIUYTRE|1234567890890678
POIUYTRE|1209867757352567
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456
POIUYTRE|1234567890890678
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456


i need to split it into

file1
ABCDEFGH|0987654321234567
ABCDEFGH|0987654321234523
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545

file2
POIUYTRE|1234567890890678
POIUYTRE|1209867757352567
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456
POIUYTRE|1234567890890678
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456

by giving grep in the whole file like
grep 'ABCDEFGH' file name | wc -l will give the counts.

but for POIUYTRE it may differ then how can i split as above from the big file...


can anybody help.please....
nivas
# 10  
Old 02-20-2008
maverix alredy give you the solution.
# 11  
Old 02-20-2008
Quote:
Originally Posted by nivas

can anybody help.please....
Did you check my earlier post??


The script I gave works fine for the type of file mentioned by you.
However, there's a catch in that script. If there's an empty line in the input file, a file by name ".txt" would be created. You can modify the script to address this or you can just delete it Smilie

cheers
maverix
# 12  
Old 02-20-2008
Quote:
Originally Posted by nivas
my input file will be

ABCDEFGH|0987654321234567
ABCDEFGH|0987654321234523
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
POIUYTRE|1234567890890678
POIUYTRE|1209867757352567
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456
POIUYTRE|1234567890890678
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456


i need to split it into

file1
ABCDEFGH|0987654321234567
ABCDEFGH|0987654321234523
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545
ABCDEFGH|0987654321234556
ABCDEFGH|0987654321234545

file2
POIUYTRE|1234567890890678
POIUYTRE|1209867757352567
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456
POIUYTRE|1234567890890678
POIUYTRE|5463879088797131
POIUYTRE|5468980091344456

by giving grep in the whole file like
grep 'ABCDEFGH' file name | wc -l will give the counts.

but for POIUYTRE it may differ then how can i split as above from the big file...


can anybody help.please....
Code:
sed -e "s/^\(.*\)|.*/\1/g" bigfile | sort -u > entries.txt
for file in $(entries.txt)
do 
  grep "${file}" bigfile > "${file}.txt"
done

# 13  
Old 02-20-2008
entries.txt is creating with 2 redords as below.

ABCDEFGH
POIUYTRE

while running the for loop in seperate script entries.txt.txt is creating and it is empty. splitting is not happening.
nivas
# 14  
Old 02-20-2008
Quote:
Originally Posted by nivas
entries.txt is creating with 2 redords as below.

ABCDEFGH
POIUYTRE

while running the for loop in seperate script entries.txt.txt is creating and it is empty. splitting is not happening.
My bad.
It should look like
Code:
sed -e "s/^\(.*\)|.*/\1/g" bigfile | sort -u > entries.txt
for file in $(<entries.txt)
do 
  grep "${file}" bigfile > "${file}.txt"
done

Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

2. Shell Programming and Scripting

shell programming and scripting

hi, i am trying this while loop and i only want that it should only read food as pizza....no other entry should be taken here. #!/usr/bin/perl -w $food = " "; while ( $food ne 'pizza' ) { print 'enter what you had last night: '; chomp ($food = <STDIN>); #print $food ; } ... (2 Replies)
Discussion started by: kullu
2 Replies

3. Shell Programming and Scripting

shell programming and scripting

I was trying out some new series to get it print 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5 and the seond one is 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 but was unable to get the result. (5 Replies)
Discussion started by: harjinder
5 Replies

4. Shell Programming and Scripting

shell scripting and programming

RCS file: /home/rcap/.APCVS/regs/rc/power/analysis/pow_rtl/renes_setup.g,v Working file: ./power/analysis/pow_rtl/renes_setup.g head: 1.14 branch: locks: strict access list: symbolic names: br_2010_101_200: 1.13.0.12 br_2010_101_100: 1.13.0.10 br_2009_91_200:... (3 Replies)
Discussion started by: harjinder
3 Replies

5. Shell Programming and Scripting

Shell Programming and Scripting

Hi All, How do I code a password with multiple special characters in it. Example: password is P#utar&@ None of the belwo options worked 1. passwd="P#utar&@" 2. passwd='P#utar&@' Any help will be greatly appreciated. (3 Replies)
Discussion started by: afredri
3 Replies

6. Infrastructure Monitoring

Shell Programming and Scripting

# set date to your spec: this is month/day/yr/hr/min/sec: sysdate=`date '+%m/%d/%Y-%H:%M:%S'` # get the last line before the history file is modified tail -1 /tmp/hosthistory.txt |while read lastdate mydevices do echo $lastdate echo $mydevices done LIST = 'ypcat hosts|| sort... (11 Replies)
Discussion started by: lemseffert
11 Replies

7. Shell Programming and Scripting

Shell Programming and Scripting

Hi, Iam having the files as follows: file1 aa aa aa aa ab ac ad ae file2 aa aa ab Outputfile: (20 Replies)
Discussion started by: nivas
20 Replies

8. Shell Programming and Scripting

Shell Programming and Scripting

Hi, Iam having file1 as follows: ERTYUIOU|1234567689089767688 FDHJHKJH|6817738971783893499 JFKDKLLUI|9080986766433498444 FILE2 ERTYUIOU|1234567689089767688 resh@abc_com 767637218328322332 893589893499 asdsddssd ... (21 Replies)
Discussion started by: nivas
21 Replies

9. Shell Programming and Scripting

Shell Programming and Scripting

I want to compare some files. say iam having 2 sets of files ,each is having some 10 files. ie, file1 1a.txt 1b.txt 1c.txt ... file2 2a.txt 2b.txt 2c.txt ... i need to read line by line of this files parralley.. ie.. i want to read file1 first line that is 1a.txt and file2... (2 Replies)
Discussion started by: nivas
2 Replies
Login or Register to Ask a Question