07-25-2011
Ok. Let's try.
1. Rename variables to work easier, For example fh - fref, fh1 - fsrc, buf - ref, buf1 - src.
2. You need two loops - see my shell prototype.
3. You need strings, not char buffers, so after reading add '\0' to the end of string (you should remember the value from fgets - use auxiliary variable).
4. You need remove the first char from ref and src strings - use pointers (it's better to use two more variables).
5. Use strcmp from standard library to compare strings (find what header you need).
6. If there is a match, print src string and get and print the next string.
But before starting to code try to write the algorithm in words or (better) in pseudocode.
I believe you can to write a good program - you have the good start. If you would have some difficulties, try to write some simple programs at first - for example - the program which will be read one line from reference file, remove the first char, print it, and then print all lines from input file. Or the program which looks for constant string ("#tmp4") in the input file and print matching lines. Then improve it - it should print the matching and the next lines. And so on.
PS Sorry for my English.
Last edited by yazu; 07-25-2011 at 06:28 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi
i need a script which reads a certain file and then display it on the screen.
The thing is i need to filter the display output.
this is an example of the file which is to be loaded in the script.
asdfg1.1.1|98
hjkldfe4.0.3|123
asdzxzvdweradfsdafascv10.0.10|123456789... (1 Reply)
Discussion started by: khestoi
1 Replies
2. Programming
Hello to all Gurus out there,
Could you show me a source code in Unix platform using C language. I want to read the status or voltage level of the DSR and CTS.
Thanks a lot,
Swing5 (2 Replies)
Discussion started by: Swing5
2 Replies
3. Shell Programming and Scripting
hi all,
I have this file with some user data.
example:
$cat myfile.txt
FName|LName|Gender|Company|Branch|Bday|Salary|Age
aaaa|bbbb|male|cccc|dddd|19900814|15000|20|
eeee|asdg|male|gggg|ksgu|19911216|||
aara|bdbm|male|kkkk|acke|19931018||23|
asad|kfjg|male|kkkc|gkgg|19921213|14000|24|... (4 Replies)
Discussion started by: srimal
4 Replies
4. UNIX for Dummies Questions & Answers
Gurus,
I am looking for a book on Awk programming.
A quick Google search gave me Amazon.com: The AWK Programming Language (9780201079814): Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger: Books by Alfred Aho.
Is there anything other than that? Any advice?
Thanks.
Al. (1 Reply)
Discussion started by: alan
1 Replies
5. Ubuntu
Is there any way to create an SMTP mail server will all granular permissions to it so that I can read emails which that server receives through any scripting language and also reply from the same server automatically? (3 Replies)
Discussion started by: sandeepcm
3 Replies
6. Shell Programming and Scripting
Guys,
May i know how can we de reference the code reference variable.?
my $a = sub{$a=shift;$b=shift;print "SUM:",($a+$b),"\n";};
print $a->(4,5);
How can we print the whole function ?
Please suggest me regarding this.
Thanks for your time :)
Cheers,
Ranga :) (0 Replies)
Discussion started by: rangarasan
0 Replies
7. UNIX for Dummies Questions & Answers
sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies
8. UNIX for Dummies Questions & Answers
Hi Folks,
I have a text file with lots of rows with duplicates in the first column, i want to filter out records based on filter columns in a different filter text file.
bash scripting is what i need.
Data.txt
Name OrderID Quantity
Sam 123 300
Jay 342 498
Kev 78 2500
Sam 420 50
Vic 10... (3 Replies)
Discussion started by: tech_frk
3 Replies
9. Shell Programming and Scripting
I have 2 input files (tab separated):
file1:
make_A 1990 foo bar
make_B 2010 this that
make_C 2004 these those
file2:
make_X 1970 1995 ref_1:43 ref_2:65
make_A 1970 1995 ref_1:4 ref_2:21 ref_3:18
make_A 1980 2002 ref_1:7 ref_2:7 ref_3:0 ... (2 Replies)
Discussion started by: beca123456
2 Replies
10. UNIX for Dummies Questions & Answers
Hi,
I'd be grateful for your help with the following:
I have a file with a single column (file1). Let's say the values are:
a
b
c
5
d
I have a second, reference file (ref_file), which is colon-delimited, and is effectively a key. Let's say the values in it are:
a:1
b:2
c:3
d:4... (4 Replies)
Discussion started by: aberg
4 Replies
GREP(1) General Commands Manual GREP(1)
NAME
grep - search a file for a pattern
SYNOPSIS
grep [ option ... ] pattern [ file ... ]
DESCRIPTION
Grep searches the input files (standard input default) for lines (with newlines excluded) that match the pattern, a regular expression as
defined in regexp(6). Normally, each line matching the pattern is `selected', and each selected line is copied to the standard output.
The options are
-c Print only a count of matching lines.
-h Do not print file name tags (headers) with output lines.
-i Ignore alphabetic case distinctions. The implementation folds into lower case all letters in the pattern and input before interpre-
tation. Matched lines are printed in their original form.
-l (ell) Print the names of files with selected lines; don't print the lines.
-L Print the names of files with no selected lines; the converse of -l.
-n Mark each printed line with its line number counted in its file.
-s Produce no output, but return status.
-v Reverse: print lines that do not match the pattern.
Output lines are tagged by file name when there is more than one input file. (To force this tagging, include /dev/null as a file name
argument.)
Care should be taken when using the shell metacharacters $*[^|()= and newline in pattern; it is safest to enclose the entire expression in
single quotes '...'.
SOURCE
/sys/src/cmd/grep.c
SEE ALSO
ed(1), awk(1), sed(1), sam(1), regexp(6)
DIAGNOSTICS
Exit status is null if any lines are selected, or non-null when no lines are selected or an error occurs.
GREP(1)