Data selection


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Data selection
# 1  
Old 04-25-2010
Data selection

Hi,

Please note that as a programmer I cannot tell the file format or details of my production files so I have re-framed my file and taken a case of departments. Kindly guide as its related to a production requirement of data containing recors of production customer NOT A HOMEWORK Smilie

I have a file containing details of different departments . Infomration of departments is in various tags
file is as below
Code:
DEPTNUM 1|
FACULTY 20|
STUDENTS 300|
COURSES 3|
DEPTNUM 2|
FACULTY 25|
STUDENTS 500|
COURSES 30|
DEPTNUM 3|
FACULTY 22|
STUDENTS 600|
COURSES 31|
AND SO ON

I want to create a new file from the above file which should contain only two fields belonging to one department
format
Code:
DEPTNUM,STUDENTS
1,50
2,500
3,600

There are multiple files containing department details of individiual college
I tried below
Code:
for file in `ls -1 pwd`
do
  var1=`grep DEPTNUM $file |cut -c 9`
  var2=`grep STUDENTS $file |cut -c 10-12`
done

However it did not serve my purpose and not giving expected result

Please suggest some alternative solution

Many thanks in advance

Last edited by Franklin52; 04-25-2010 at 10:17 AM.. Reason: Please indent your code and use code tags, thank you
# 2  
Old 04-25-2010
Quote:
Originally Posted by test_user
Hi,

Please note that as a programmer I cannot tell the file format or details of my production files so I have re-framed my file and taken a case of departments. Kindly guide as its related to a production requirement of data containing recors of production customer NOT A HOMEWORK Smilie

I have a file containing details of different departments . Infomration of departments is in various tags
file is as below
Code:
DEPTNUM 1|
FACULTY 20|
STUDENTS 300|
COURSES 3|
DEPTNUM 2|
FACULTY 25|
STUDENTS 500|
COURSES 30|
DEPTNUM 3|
FACULTY 22|
STUDENTS 600|
COURSES 31|
AND SO ON

I want to create a new file from the above file which should contain only two fields belonging to one department
format
Code:
DEPTNUM,STUDENTS
1,50
2,500
3,600

There are multiple files containing department details of individiual college
I tried below
Code:
for file in `ls -1 pwd`
do
  var1=`grep DEPTNUM $file |cut -c 9`
  var2=`grep STUDENTS $file |cut -c 10-12`
done

However it did not serve my purpose and not giving expected result

Please suggest some alternative solution

Many thanks in advance
Try:
Code:
awk -F"[ |]" 'BEGIN{print "DEPTNUM,STUDENTS"}/DEPTNUM/{s=$2}/STUDENTS/{print s "," $2}' file

# 3  
Old 04-25-2010
assuming your files are well formatted, something like:

Code:
#  nawk -F "[| ]" 'BEGIN{print "DEPTNUM,STUDENTS"}/DEPTNUM/{D=$2}/STUDENTS/{print D","$2}' infile
DEPTNUM,STUDENTS
1,300
2,500
3,600

should probably be close....
# 4  
Old 04-25-2010
Hi Franklin and TYtalus
Many thanks, the solution is working

However I added third field and its not working Below is the code I am using

Quote:
awk -F "[| ]" 'BEGIN{print "DEPTNUM,STUDENTS,FACULTY"}/DEPTNUM/{D=$2}/FACULTY/{E=$2}/STUDENTS/{print D","E","$2}' infile
# 5  
Old 04-25-2010
Quote:
Originally Posted by test_user
Hi Franklin and TYtalus
Many thanks, the solution is working

However I added third field and its not working Below is the code I am using
It works for me with your input file.

Regards
# 6  
Old 04-25-2010
Quote:
Originally Posted by test_user
Hi Franklin and TYtalus
Many thanks, the solution is working

However I added third field and its not working Below is the code I am using
It works, you only need to adjust the heading: DEPTNUM,FACULTY,STUDENTS instead of DEPTNUM,STUDENTS,FACULTY
# 7  
Old 05-06-2010
Hi,

I am facing another issue in the approach . I have new file structure like dummy exmaple below

Code:
 
DEPT 1|
DEPTNAME Science|
FACULTY 20|
STUDENTS 300|
COURSES 3|
DEPT 2|
DEPTNAME Humanities|
FACULTY 25|
STUDENTS 500|
COURSES 30|
DEPT 3|
DEPTNAME Engineering|
FACULTY 22|
STUDENTS 600|
COURSES 31|
AND SO ON

I want to get o/p like below
DEPT,STUDENTS,FACULTY
But as DEPTNAME is coming after DEPT in the input file the awk approach is matching DEPTNAME instead of DEPT .
Please guide
Code:
awk -F "[| ]" 'BEGIN{print "DEPT,STUDENTS,FACULTY"}/DEPT/{D=$2}/FACULTY/{E=$2}/STUDENTS/{print D","E","$2}' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

AIX version selection

Hi, I would like to upgrade my AIX box 6.1 to 7.1/7.2. Current info of my AIX 6.1 box / > oslevel -s 6100-09-11-1810 System Model: IBM,9117-MMD Machine Serial Number: xxx Processor Type: PowerPC_POWER7 Processor Implementation Mode: POWER 7 Processor Version: PV_7_Compat Number Of... (10 Replies)
Discussion started by: Phat
10 Replies

2. Shell Programming and Scripting

Selection from array

Hi, I need some help taking a selection from a command and adding part of the output to an array. I'd like to read the items into the array, have the user chose an option from the array and put the item from column 1 into a variable. The command is: awless -l list routetables --columns... (7 Replies)
Discussion started by: bignellrp
7 Replies

3. Shell Programming and Scripting

Output selection with EOF

I have a script: #!/bin/ksh runmqsc CERN.PROD <<EOF dis chs(to.*) end EOF which gives me the output as: 1 : dis chs(to.*) AMQ8417: Display Channel Status details. CHANNEL(TO.CGPRODAPP2) CHLTYPE(CLUSRCVR) CONNAME(10.60.16.50) CURRENT ... (5 Replies)
Discussion started by: Daniel Gate
5 Replies

4. Shell Programming and Scripting

If Selection statement

ok im kinda stuck i have a bash script with 4 options 1. Create Script 2. Show Script 3 . Delete script 4. Exithow would i use an if statement for this? im not sure what test command i would use. I know it would be like this (below) to display the script if then cat script1or for the... (10 Replies)
Discussion started by: gangsta
10 Replies

5. Shell Programming and Scripting

Date selection

Hi All, i have log file sample data is 2010/10/09|04:00:00.392|15Minute|BW=0|192.168.0.1 2010/10/08|04:00:00.392|15Minute|BW=0|192.168.0.1 2010/10/07|04:00:00.392|15Minute|BW=0|192.168.0.1 2010/10/05|04:00:00.392|15Minute|BW=0|192.168.0.1 2010/10/03|04:00:00.392|15Minute|BW=0|192.168.0.1... (2 Replies)
Discussion started by: posner
2 Replies

6. Shell Programming and Scripting

Data selection

Hi, I have a file containing details of different departments . Infomration of departments is in various tags file is as below I want to create a new file from the above file which should contain only two fields belonging to one department format There are multiple files... (1 Reply)
Discussion started by: test_user
1 Replies

7. Shell Programming and Scripting

selection of context in files

I have a file like this QUEUE: <ITEM(69)> "/NLA///ACHO_EQU_IDX" Q_KEY: <ITEM(69)> "/NLA///ACHO_EQU_IDX" Q_TYPE: <VSTR(32)> "GEN_VSTR_INDEX" ... (1 Reply)
Discussion started by: manas_ranjan
1 Replies

8. Post Here to Contact Site Administrators and Moderators

Opt out selection

Maybe I'm missing something but when I go to CP->Options, I see the box for selecting which forum to opt out of but no way to set it. (5 Replies)
Discussion started by: drhowarddrfine
5 Replies

9. UNIX for Advanced & Expert Users

tray selection

Hello All, Could anyone help me how to selecting the trays in unix . Thanks, Amit kul (3 Replies)
Discussion started by: amit kul
3 Replies

10. Shell Programming and Scripting

Array and Selection

I have a question: Y X Tabel a is a array multidimensional --> a(1024,20) I load in to array a Text from 6000 row where: in a(1,1) is present the row 1 of original text, in a(1024,1) is present then row 1024 of original test and in... (4 Replies)
Discussion started by: ZINGARO
4 Replies
Login or Register to Ask a Question