printing a line of a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers printing a line of a file
# 1  
Question

I am trying to write a script that when triggered by an ip address it will run the following
export DAVIDCOUNT=`(fgrep -ce 140.147.146.146 /export/home/ipconnect.txt) >> /local/cron/test_listen_out`;
I think this is my problem line.
What I like this line to do is when it sees the 140.147.146.146 ip address, it goes to the ipconnect.txt file, finds the line that corresponds to the ip address and print the whole line of text that has 140.147.146.146.
Is this possible?


# 2  
You really need to split this line into two commands. It looks like you are trying to get a count with the '-c' option, as well as outputting a line of text. Try:

COUNT=`grep -c 140.147.146.146 ipconnect.txt`
grep 140.147.146.146 >> test_out
# 3  
Data printing a line from a file

I think that the former thread is not correct.
What I am trying to do is when the script is triggered by
an ip address, it goes to a file called ipconnect.txt and
print the row that has the corresponding ip address in it.
The data in ipconnect is a list of ip address followed by a
tab and then the owner's ip address.
This is the entire script and I think that the netstat is
what need to be looked at.

export HOUR=`/usr/bin/date +%H`
export MINUTE=`/usr/bin/date +%M`
export REMOTECOUNT=`ps -ef | grep LOCAL=NO | wc -l`;
if [ $REMOTECOUNT -ne 1 ]
then
export REMOTER=`expr ${REMOTECOUNT} - 1`
print $REMOTER "=REMOTE CONNECTIONS" > /cron/test_listen_out;
netstat -an | grep "50.1521" | cut -c22-42 | egrep -v /cron/stars >> /cron/test_listen_out;
export DAVIDCOUNT=`fgrep -ce 140.147.146.146 /ipconnect.txt`;
fgrep 140.147.146.146 >> /cron/test_listen_out;
if [ $DAVIDCOUNT -ne 0 ]
then
print "David Williamson" >> /cron/test_listen_out;
fi
...
fi
# 4  
Yes, you are right. You run the netstat command and match the output to the IP address you are trying to match in a condition statement. When it matches, you can either pass the matching IP address to another executable script to read the .txt file and do what you want, or read the .txt file from the first script and match.

I would do it all in one script, if not too complex, and execute the script from the crontab file every couple of minutes. You will need a flag and a timer to insure that you do not get multiple hits on an IP address, because the address will linger in netstat longer than the interval between crontab executions.

I would write this in PERL, because PERL is better suited for this that SH, KSH, and these type shells.
# 5  
Network printing a line of a file

Thanks. You are really good.
When the ip detected matches the ip of ipconnect.txt, I like to have the corresponding row of ipconnect.txt
to be printed. I do not know how to do this. How can this be done.
I do not know Perl. Could it be done in KSH?
# 6  
Yes, you can do it in any scripting language. Use the one which is the most comfortable for you. KSH will work as well all shell scripting languages. I recommended PERL because of its superior file I/O and pattern matching functions. However, if you don't know PERL, it is certainly possible with KSH.

Feel free to post your final script. It should not be too long, based on your posts. Happy to review.
# 7  
printing a line of a file

Ok, here it is again.

export HOUR=`/usr/bin/date +%H`
export MINUTE=`/usr/bin/date +%M`
export REMOTECOUNT=`ps -ef | grep LOCAL=NO | wc -l`;
if [ $REMOTECOUNT -ne 1 ]
then
export REMOTER=`expr ${REMOTECOUNT} - 1`
print $REMOTER "=REMOTE CONNECTIONS" > /cron/test_listen_out;
netstat -an | grep "50.1521" | cut -c22-42 | egrep -v /cron/stars >> /cron/test_listen_out;
export DAVIDCOUNT=`fgrep -ce 140.147.146.146 /ipconnect.txt`;
fgrep 140.147.146.146 >> /cron/test_listen_out;
if [ $DAVIDCOUNT -ne 0 ]
then
print "David Williamson" >> /cron/test_listen_out;
fi
...
fi

The ... are more namecounts which is too repetative to type.
So DAVIDCOUNT is a sample of all of the other counts that follows.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #400
Difficulty: Medium
The first release for HP 9000 Series 500 HP-UX for Series 500 was HP-UX 1.0 (1982).
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Printing string from last field of the nth line of file to start (or end) of each line (awk I think)

My file (the output of an experiment) starts off looking like this, _____________________________________________________________ Subjects incorporated to date: 001 Data file started on machine PKSHS260-05CP ********************************************************************** Subject 1,... (9 Replies)
Discussion started by: samonl
9 Replies

2. Shell Programming and Scripting

Awk: Comparing arguments with in line values of file and printing the result

I need to develop a script where I will take two date arguments as parameter date1 and date2 which will in format YYYYMM. Below is the input file say sample.txt. sample.txt will have certain blocks starting with P1. Each block will have a value 118,1:TIMESTAMP. I need to compare the... (7 Replies)
Discussion started by: garvit184
7 Replies

3. Homework & Coursework Questions

Lex: analyzing a C file and printing out identifiers and line numbers they're found on

Florida State University, Tallahassee, FL USA, Dr. Whalley, COP4342 1. The problem statement, all variables and given/known data: Create a lex specification file that reads a C source program that ignores keywords and collects all identifiers (regular variable names) and also displays the line... (3 Replies)
Discussion started by: D2K
3 Replies

4. UNIX and Linux Applications

Printing a line in a file

Hi I have a file having multiple lines. I want to print a particular line. How can I do this? Thanks in advance Ananth (5 Replies)
Discussion started by: Ananthdoss
5 Replies

5. Shell Programming and Scripting

Printing a particular line to a file

Hi, I have a file in which the entries are of the following type: 5649 S 1 0412 S 0 0423 S 1 0020 N 0 0020 N 0 1022 S 1 1022 S 1 I need to print the whole line which is having 0 in the third column into a different file Thanks... (6 Replies)
Discussion started by: swasid
6 Replies

6. Shell Programming and Scripting

printing each line in a file X times

This is probably simple but I would like to print every line in a file 5 times like this: awk 'NR' mens_csv.tab Dub Tank 53%Hemp/42%Cotton/5%Lycra Jersey Dark Green 0 $22.50 Dub Tank 53%Hemp/42%Cotton/5%Lycra Jersey Indigo Blue 0 $22.50 --------------- Dub... (4 Replies)
Discussion started by: Autumn Tree
4 Replies

7. UNIX for Advanced & Expert Users

printing specific line from a file.

The below line gives the perfect output when I mention the record number and file name as hardcoded. awk 'NR==3{print}' samp2.txt But when I pass the record num and file name as variable, it doesn't give any output. row_num=3;file2=samp2.txt;awk 'NR==$row_num {print}' $file2 Can you... (2 Replies)
Discussion started by: siba.s.nayak
2 Replies

8. Shell Programming and Scripting

Re-write first line of a file before printing

Morning All, Quite a simple one this, I hope. What I want to do is to re-write the first line of a file before it's sent to print. The line will be blank initially, and I want to insert some text. The operation can either be done on the file itself (modifying the file on disk), OR in a... (2 Replies)
Discussion started by: alexop
2 Replies

9. UNIX for Dummies Questions & Answers

Printing a Line from a file

I have a log file with several lines as follows: Aug 30 06:35:08 trnwvltfit1 /usr/lib/snmp/snmpdx: Agent snmpd appeared dead but responded to ping I am using the date of the line to determine which lines to print. However, I am only trying to print the parts of the line that are NOT... (4 Replies)
Discussion started by: Nysif Steve
4 Replies

10. Shell Programming and Scripting

printing an empty line in a file (perl)

I know this must be really easy, but i can't get it to work I've got a perl script, with a file. I want to print an empty line, and the following doesn't seem to work: print nameoffile "\n" thanks for your help!! (3 Replies)
Discussion started by: kfad
3 Replies

Featured Tech Videos