Sponsored Content
Top Forums Shell Programming and Scripting Stuck on a matching, copying type problem Post 302181815 by derek3131 on Friday 4th of April 2008 08:26:49 AM
Old 04-04-2008
Stuck on a matching, copying type problem

Hi all, I am new to these forum and to scripting in general for that matter. i have been looking through the forums for something that could explain my problem. I have be come pretty familiar with sed and awk but I can not seem to figure this out... I am trying to match data from 3 files but every thing I have tried doesn't seem to do what i need it to. And maybe this is something better suited for perl or python ( which i have no experience with ).. ok here goes...

Problem:

1. Want to match $1b to $2a, if match copy $2b to $4a

2. Want to match $1c to $2a, if match copy $2c to $4a (and overwrite the data in $4a)


file_a is comma seperated and has 4 fields

$1a,$2a,$3a,$4a

file_b is comma seperated and has 2 fields

$1b,$2b

file_c is comma seperated and has 2 field

$1c,$2c



Here is example of the data in the files:

Code:
berserker# more file_a

gpf135cm,gpf090079cs,purple,
gpf136cm,gpf100002cs,blue,
gpf138cm,gpf100065cs,purple,
gpf140cm,gpf110005cs,purple,
gpf141cm,gpf110037cs,purple,
gpf139cm,gpf100101cs,purple,
gpf139cm,gpf100119cs,purple,

 
berserker# more file_b

hou020067cs, synopsis = Urgent message file problems reported
hou090022cs, synopsis = Urgent message file problems reported
hou090056cs, synopsis = Node was detected as causing a spike by job 16811167
hou090064cs, synopsis = Node was disabled by Jeff ext8592
gpf090079cs, synopsis = Excessive ECC errors detected
gpf100002cs, synopsis = Excessive ECC errors detected
gpf090079cs,Apr  1 20:28:20 gpf090079cs kernel: MC1: CE page 0x1ac685 offset 0x240 grain 8 syndrome 0x4a row 0 channel 0 label "": bluesmoke_k8
gpf100002cs, 


berserker# more file_c

gpf090079cs MC1: row 0 channel 0



So far I have figured out how to extract all this information and organize it in these files using AWK and SED, but I am not sure that I can get it to do this type of problem... Any help on this problem that i have been beating on my keyboard for would be greatly appreciated. Thank you

Last edited by Yogesh Sawant; 04-04-2008 at 09:39 AM.. Reason: added code tags
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Copying all files of type "pdf"

Hi, Within a shell script I'm trying to copy all the files in a directory structure to another folder but only the files of type "pdf" I have made a start but I can't work out how to finish it. find $ATEBUILD/doc/user -name "*.pdf" | xargs cp THEN WHAT? I hope this makes sense! Rob (6 Replies)
Discussion started by: milage
6 Replies

2. Shell Programming and Scripting

Problem with variable type

Dear All, I am trying to write an script to calculate geometric centre of selected residues of a protein structure. Say I have a PDB file (a text containing the x, y, and z coordinates of atoms of a protein). I want to extract the X coordinates of the atoms belonging to the interested residues... (2 Replies)
Discussion started by: siavoush
2 Replies

3. UNIX for Advanced & Expert Users

terminal type problem with cygwin on aix

hey, I use cygwin to connect to AIX 5.2 but when I open vi I get an error saying: ex: 0602-108 cygwin is not a recognized terminal type how can I fix that? I thought cygwin was tty vt100? (1 Reply)
Discussion started by: rein
1 Replies

4. UNIX for Advanced & Expert Users

Problem in copying files!!

I have requirement of one directory in /tmp area on Sun server. The area contains following files : brdcems# /tmp/.tivoli >>ls -lt total 0 srwxrwxrwx 1 root other 0 Nov 16 13:41 a9c30c14-80bf256e-94 srwxrwxrwx 1 root other 0 Nov 12 12:28 a9c30cc8-80bf256e-94 I... (4 Replies)
Discussion started by: ssk
4 Replies

5. SCO

Sco 6 copying problem

We are using GTAR for daily copies of our database using Travan cartridges (Tapestor drive)and are having intermittent problems. Some days it does not copy and we can't figure out why. Sometimes it seems to be hanging and a tape status command doesn't return anything. Other times it doesn't copy... (0 Replies)
Discussion started by: Yrr88
0 Replies

6. UNIX for Dummies Questions & Answers

Stuck with a simple find problem

Hi, Need some simple find help. I need to search for all .so files within sol directory. My directory tree has mix of directories and i want to search only inside sol directory. I could get this done combining find with for, any option to do this with find alone. for a in `find .... (13 Replies)
Discussion started by: vibhor_agarwali
13 Replies

7. Shell Programming and Scripting

Find problem listing directories even -type f

Hi All, #!/bin/ksh find /home/other -ls -type f -xdev | sort -nrk7 | head -2 >bigfile.txt The above is my script, which writes the large file into a file called bigfile.txt. My script contains only the above two lines. after execution i am getting the output like find: cannot chdir to... (1 Reply)
Discussion started by: Arunprasad
1 Replies

8. Shell Programming and Scripting

Problem with type-casting in awk

Hi I'm trying to write a script which takes an integer as input and checks for files with size > input and displays it on screen. The code I've tried : echo 'Enter the min file size expected' read filesize du -ah <folder name> | awk -F: '$1>int(filesize) {print $1,$2)' is always... (28 Replies)
Discussion started by: vivek.bharadwaj
28 Replies

9. Shell Programming and Scripting

korn shell display lenght problem!!! i got stuck on this

Using the KSH, write a shell script called display_by_length, which takes an absolute pathname to a directory and displays all ordinary files in the directory ordered by their length; for each file listed, display the name of the file and its length - nothing else. Extend this script to take an... (1 Reply)
Discussion started by: babuda0059
1 Replies

10. Shell Programming and Scripting

Type casting problem

hi guys, i m new to shell script.. i dont know how to type cast string into integers and i mention my problem below.. date="21091988" month=$((${date:2:2})) # extract the month from previous date variable temp=$(($month*23)) when i am trying to calculate the temp value i got the... (5 Replies)
Discussion started by: raadhaakrishnan
5 Replies
CVSBUG(8)						      System Manager's Manual							 CVSBUG(8)

NAME
cvsbug - send problem report (PR) about CVS to a central support site SYNOPSIS
cvsbug [ site ] [ -f problem-report ] [ -t mail-address ] [ -P ] [ -L ] [ --request-id ] [ -v ] DESCRIPTION
cvsbug is a tool used to submit problem reports (PRs) to a central support site. In most cases the correct site will be the default. This argument indicates the support site which is responsible for the category of problem involved. Some sites may use a local address as a default. site values are defined by using the aliases(5). cvsbug invokes an editor on a problem report template (after trying to fill in some fields with reasonable default values). When you exit the editor, cvsbug sends the completed form to the Problem Report Management System (GNATS) at a central support site. At the support site, the PR is assigned a unique number and is stored in the GNATS database according to its category and submitter-id. GNATS automati- cally replies with an acknowledgement, citing the category and the PR number. To ensure that a PR is handled promptly, it should contain your (unique) submitter-id and one of the available categories to identify the problem area. (Use `cvsbug -L' to see a list of categories.) The cvsbug template at your site should already be customized with your submitter-id (running `install-sid submitter-id' to accomplish this is part of the installation procedures for cvsbug). If this hasn't been done, see your system administrator for your submitter-id, or request one from your support site by invoking `cvsbug --request-id'. If your site does not distinguish between different user sites, or if you are not affiliated with the support site, use `net' for this field. The more precise your problem description and the more complete your information, the faster your support team can solve your problems. OPTIONS
-f problem-report specify a file (problem-report) which already contains a complete problem report. cvsbug sends the contents of the file without invoking the editor. If the value for problem-report is `-', then cvsbug reads from standard input. -t mail-address Change mail address at the support site for problem reports. The default mail-address is the address used for the default site. Use the site argument rather than this option in nearly all cases. -P print the form specified by the environment variable PR_FORM on standard output. If PR_FORM is not set, print the standard blank PR template. No mail is sent. -L print the list of available categories. No mail is sent. --request-id sends mail to the default support site, or site if specified, with a request for your submitter-id. If you are not affiliated with site, use a submitter-id of net'. -v Display the cvsbug version number. Note: use cvsbug to submit problem reports rather than mailing them directly. Using both the template and cvsbug itself will help ensure all necessary information will reach the support site. ENVIRONMENT
The environment variable EDITOR specifies the editor to invoke on the template. default: vi If the environment variable PR_FORM is set, then its value is used as the file name of the template for your problem-report editing ses- sion. You can use this to start with a partially completed form (for example, a form with the identification fields already completed). HOW TO FILL OUT A PROBLEM REPORT
Problem reports have to be in a particular form so that a program can easily manage them. Please remember the following guidelines: o describe only one problem with each problem report. o For follow-up mail, use the same subject line as the one in the automatic acknowledgement. It consists of category, PR number and the original synopsis line. This allows the support site to relate several mail messages to a particular PR and to record them automati- cally. o Please try to be as accurate as possible in the subject and/or synopsis line. o The subject and the synopsis line are not confidential. This is because open-bugs lists are compiled from them. Avoid confidential information there. See the GNU Info file cvsbug.info or the document Reporting Problems With cvsbug for detailed information on reporting problems HOW TO SUBMIT TEST CASES, CODE, ETC. Submit small code samples with the PR. Contact the support site for instructions on submitting larger test cases and problematic source code. FILES
/tmp/p$$ copy of PR used in editing session /tmp/pf$$ copy of empty PR form, for testing purposes /tmp/pbad$$ file for rejected PRs INSTALLATION AND CONFIGURATION
See INSTALL for installation instructions. SEE ALSO
gnats(l), query-pr(1), edit-pr(1), gnats(8), queue-pr(8), at-pr(8), mkcat(8), mkdist(8). AUTHORS
Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus Support) COPYING
Copyright (c) 1992, 1993 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. February 1993 xVERSIONx CVSBUG(8)
All times are GMT -4. The time now is 07:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy