grep PID and collect data ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep PID and collect data ?
# 1  
Old 05-09-2011
grep PID and collect data ?

I have a file current.csv file
Code:
2011/05/06 11:12:20 |   16:guest   pid=014782 opened Boards 0, 1, 2, 3 
2011/05/06 12:23:13 |   16:guest   pid=014782 closed
2011/05/06 12:26:05 |   17:guest   pid=022383 opened Boards 0, 1, 2, 3 
2011/05/06 20:09:04 |   17:guest   pid=022383 closed
2011/05/06 20:21:59 |   18:guest   pid=031483 opened Boards 0, 1, 2, 3 
2011/05/09 09:53:47 |   18:guest   pid=031483 closed
2011/05/09 09:57:59 |   19:guest   pid=007257 opened Boards 0, 1, 2, 3

How do i write ksh script to create newfile.csv BUT merge the same PID in one line ?
Code:
2011/05/06 11:12:20 |   16:guest   pid=014782 opened Boards 0, 1, 2, 3 |2011/05/06 12:23:13 |   16:guest   pid=014782 closed
2011/05/06 12:26:05 |   17:guest   pid=022383 opened Boards 0, 1, 2, 3| 2011/05/06 20:09:04 |   17:guest   pid=022383 closed
2011/05/06 20:21:59 |   18:guest   pid=031483 opened Boards 0, 1, 2, 3 | 2011/05/09 09:53:47 |   18:guest   pid=031483 closed
2011/05/09 09:57:59 |   19:guest   pid=007257 opened Boards 0, 1, 2, 3 ||

Thanks,
# 2  
Old 05-09-2011
Try this

Code:
awk '{if($5 in x){print x[$5]"|"$0;delete x[$5]}else{x[$5]=$0}}END{for(i in x){print x[i]}}' infile

regards,
Ahamed

Last edited by ahamed101; 05-09-2011 at 10:59 PM..
# 3  
Old 05-10-2011
Thanks, i will try it
# 4  
Old 05-10-2011
Code:
awk '{printf $4==v?$0 ORS:$0 FS"|";v=$4}END{print""}'

# 5  
Old 05-11-2011
I tried both case and had problem:
If a process never close and was kill or get loss somewhere then it will mess up the new list.
Like
Code:
2011/05/06 11:12:20 |   16:guest   pid=014782 opened Boards 0, 1, 2, 3 |2011/05/06 12:23:13 |   16:guest   pid=014782 closed
2011/05/06 12:26:05 |   17:guest   pid=022383 opened Boards 0, 1, 2, 3| 2011/05/06 20:09:04 |   17:guest   pid=022383 closed
2011/05/06 20:21:59 |   18:guest   pid=031483 opened Boards 0, 1, 2, 3 | 2011/05/09 09:53:47 |   18:guest   pid=031483 closed
2011/05/09 09:57:59 |   19:guest   pid=007257 opened Boards 0, 1, 2, 3 ||
2011/05/09 09:57:59 |   22:guest   pid=007457 opened Boards 0, 1, 2, 3
|2011/05/09 09:57:59 |   23:guest   pid=007277 opened Boards 0, 1, 2, 3

# 6  
Old 05-11-2011
try:
Code:
 echo '2011/05/06 11:12:20 |   16:guest   pid=014782 opened Boards 0, 1, 2, 3
2011/05/06 12:23:13 |   16:guest   pid=014782 closed
2011/05/06 12:26:05 |   17:guest   pid=022383 opened Boards 0, 1, 2, 3
2011/05/06 20:09:04 |   17:guest   pid=022383 closed
2011/05/06 20:21:59 |   18:guest   pid=031483 opened Boards 0, 1, 2, 3
2011/05/09 09:53:47 |   18:guest   pid=031483 closed
2011/05/09 09:57:59 |   19:guest   pid=007257 opened Boards 0, 1, 2, 3
2011/05/09 09:57:59 |   22:guest   pid=007457 opened Boards 0, 1, 2, 3
2011/05/09 09:57:59 |   23:guest   pid=007277 opened Boards 0, 1, 2, 3' |awk '{a[NR]=$0}END{for(i=1;i<=NR;i++) if(a[i+1]~/closed$/) {print a[i]" | "a[i+1];i=i+1} else {print a[i]" | |"}}'
2011/05/06 11:12:20 |   16:guest   pid=014782 opened Boards 0, 1, 2, 3 | 2011/05/06 12:23:13 |   16:guest   pid=014782 closed
2011/05/06 12:26:05 |   17:guest   pid=022383 opened Boards 0, 1, 2, 3 | 2011/05/06 20:09:04 |   17:guest   pid=022383 closed
2011/05/06 20:21:59 |   18:guest   pid=031483 opened Boards 0, 1, 2, 3 | 2011/05/09 09:53:47 |   18:guest   pid=031483 closed
2011/05/09 09:57:59 |   19:guest   pid=007257 opened Boards 0, 1, 2, 3 | |
2011/05/09 09:57:59 |   22:guest   pid=007457 opened Boards 0, 1, 2, 3 | |
2011/05/09 09:57:59 |   23:guest   pid=007277 opened Boards 0, 1, 2, 3 | |

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. SuSE

How to filter SYSLOG data to collect meaningful information only?

Dear users, SUSE 10 sp3 and SUSE 11. I made configuration changes in '/etc/syslog-ng/syslog-ng.conf' to move SYSLOG content to LogRhythm. This is what I changed in the file. Un-comment out the following lines #Enable this and admop IP to send log messages to... (10 Replies)
Discussion started by: JDBA
10 Replies

2. Shell Programming and Scripting

Collect last 2 days data from /var/log/messages

I need to collect last 2 days data from /var/log/messages into a separate file (file format: flmessagetimedaymonth). I have collect today's month, date, time information in separate variable. Please help me in this issue (Probably need awk and grep function). month=$(date|awk '{print $2}')... (4 Replies)
Discussion started by: makauser
4 Replies

3. Shell Programming and Scripting

Use PYTHON to collect data weather and print in new file

Hi all, i have a task to do with Python and because i'm a beginner on it i would like your help on this. Create a python script that: Every hour collect the Temperature (e.g. 29C) and Current Condition (e.g. Clear) from this website wunderground.com/global/stations/54511.html Create a CSV... (0 Replies)
Discussion started by: ragaga123
0 Replies

4. Shell Programming and Scripting

Korn script to access multiple host and collect data

Hi, I'm newbie in Korn scripting as well as in Unix. I need to have a script to do the following. 1) ssh multiple hosts -In my case, login credentials are not an issue as all keys authorized by default. Example of host IP (24.35.14.6, 24.35.14.7, 24.35.14.8, 24.35.14.9, ... (2 Replies)
Discussion started by: blinkingdan
2 Replies

5. UNIX Desktop Questions & Answers

collect data from files

there are 200 files named file1_0.pdb,file1_60.pdb etc....it looks like: ATOM 1 N VAL 1 8.897 -21.545 -7.276 1.00 0.00 ATOM 2 H1 VAL 1 9.692 -22.015 -6.868 1.00 0.00 ATOM 3 H2 VAL 1 9.228 -20.766 -7.827 1.00 0.00 ATOM 4 H3 ... (5 Replies)
Discussion started by: kanikasharma
5 Replies

6. Shell Programming and Scripting

Using grep to extract PID

Hi unix experts! I need help to solve the following problem: I'm getting the prstat info: stats=`prstat 0 1` #dont worry about how many processes are running I'm aware that no all processes will be listed without the -n (specify number) then I'm doing the following to extract the... (2 Replies)
Discussion started by: sanjaybhatt6
2 Replies

7. UNIX for Dummies Questions & Answers

determine pid from ps -ef | grep something

Hi all, i have a script called a.sh and within a.sh it calls b.sh. when i do a ps -ef | grep a.sh, i get two sets of number user_test 4225 3250 0 10:31 pts/1 00:00:00 a.sh when i do a ps -ef | grep b.sh, i get two sets of number user_test 4269 4225 22 10:31 pts/1 00:00:45... (17 Replies)
Discussion started by: new2ss
17 Replies

8. UNIX for Dummies Questions & Answers

Enable a shell to collect data from unix, return to windows

hi I am very new to UNIX. I need to retrieve data from a unix system and store it and display as output on a windows system. Initiation of procedure is through JAVASCRIPT-based buttons on a HTML page. This should cause a set of commands to run which colllect data from a unix based server and... (1 Reply)
Discussion started by: rossalyn_maxter
1 Replies

9. Shell Programming and Scripting

collect data from another file

Hi Friends , I am urgently needed your help. could you pleas help me in creating the shell script. Requirement : collect the data from no_file.txt no_file.txt ============ 1 11 265 290 300 313 326 351 Then create another shele script like my_shell.csh (3 Replies)
Discussion started by: bikas_jena
3 Replies

10. Shell Programming and Scripting

ccall database and collect data from one table

I want to connect to one database and collect data from any table using shell script. (0 Replies)
Discussion started by: rinku
0 Replies
Login or Register to Ask a Question