Is it possible with sed or awk?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Is it possible with sed or awk?
# 1  
Old 10-27-2008
Is it possible with sed or awk?

Hi all,

I am tring to write a script which should read the first line of the file and perform some task. Once the task is completed the next line of the file should be read the task should be performed.
So is it possible to have a counter sort of thing, in sed or awk, which would increment and hence cause the next line to be read?
Following is how I thought of doing it, but it does not work as I can't assign value to $C to get to read a line:

Code:
C=1 #counter
while true
do
 LOG=`sed '$C!d' /var/log/somelog.log`
 #
 perform the task on $LOG
 #
 C=`expr $C + 1`
done

Thanks
# 2  
Old 10-27-2008
Basic scripting concept:
Code:
while read line
do
  #perform the task on "$line"
done < /var/log/somelog.log

# 3  
Old 10-27-2008
Thanks for the reply danmero.

I had tried that earlier. When the script reads thru somelog.log and reaches EOF it exits. But I don't want it to exit. If the EOF is reached the script should wait till new line is added to somelog.log and then perform the task. Also the new to somelog.log would be added at random intervals.

Any suggestions on how to have the script wait where it stopped rather than exiting and continue when the new line is added?

Thanks.
# 4  
Old 10-27-2008
you could tail -f the log and parse that through the script.

Should work....alternative method is to remeber where you got to in the file (line count) and then run your script at intervals starting where you left off - just be careful handling logrotates
# 5  
Old 10-27-2008
Quote:
Originally Posted by Tytalus
you could tail -f the log and parse that through the script.

Should work....alternative method is to remeber where you got to in the file (line count) and then run your script at intervals starting where you left off - just be careful handling logrotates
If I tail -f the log and parse it through the script when a new line is added to the log the script exits.
I haven't tried the alternative step yet as I am not familiar with logrotates.
Would there be any other way to do this?

Thanks.
# 6  
Old 10-28-2008
hmm - try something like:

Code:
#  tail -f infile | while read line; do echo $line | tr "[a-z]" "[A-Z]"; done
HELLO
WORLD

where infile was an empty file, and I simply did:

Code:
#  echo hello >> infile
#  echo world >> infile

# 7  
Old 10-28-2008
Thanks for the reply tytalus.

I guess this would not work for me as my script contains 10 logics in it. So I took another route and using cron and ls and moving the files around once the job is over I got it to do the job. But it would have been nice and easier if I could just figure out a way to do this as I wanted. Still I will continue to read thru and see if I can do it the way I wanted to do it.

Thanks again.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed and awk giving error ./sample.sh: line 13: sed: command not found

Hi, I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :- ./sample.sh: line... (12 Replies)
Discussion started by: satishmallidi
12 Replies

2. Shell Programming and Scripting

Is this possible using SED and AWK?

Dear Geeks, I want to manipulate a file with certain modifications for that using sed or AWK how to do this process for one file i have this type of data. Input File: "Restricted and Reserved names .ANISH",3798,"TEST.CO",1201208,6/16/10 0:00,6/16/13 0:00,,,"CO","2nd"^M "Restricted and... (4 Replies)
Discussion started by: anishkumarv
4 Replies

3. UNIX for Dummies Questions & Answers

sed/awk or help please

I have a file that contain the data below: B1 1 2 3 B2 20 30 40 B3 7 8 B4 100 B5 21 22 23How can I retrieve the data for B1 into a seperate file. (8 Replies)
Discussion started by: bobo
8 Replies

4. Shell Programming and Scripting

Need help using awk or sed.

Hi All, Is there a way of comparing two columns in the same file and deleting the row if the values of the columns match. I have the sample data file as below. M024900|175309.00|968.00|17 M025001|19861.79|97.90|148 M025002|431.70|159.00|3 M025003|912.30|159.90|6 ... (6 Replies)
Discussion started by: nua7
6 Replies

5. Shell Programming and Scripting

Using sed or awk?

What if I wanted to add a word such as IT after the first character and if theres 3 characters, after the 2nd character? output would be: G, it H G, H it P G, H, P it L I'm thinking that AWK would be the easiest way to do this... Currently looking it up. Right now I'm using awk but I... (13 Replies)
Discussion started by: puttster
13 Replies

6. UNIX for Dummies Questions & Answers

sed or awk?

I've got an inventory database with eight columns with things like product name, manufacturer, UPC code, etc. on each line. Our PO (purchase order) number is in the first column. I can grep the date and get the full line of data but I would like to strip out everything but the PO number in the... (5 Replies)
Discussion started by: NetJones
5 Replies

7. UNIX for Advanced & Expert Users

Awk or Sed help

Hi, I have a data file with 5 columns - like this: "20080401 09:43:08.770798 +0100s","TEST 1","R 1","A TEST","Nov 27 2007","1" "20080401 09:43:08.770798 +0100s","THIS IS A TEST","R 2","B TEST","Nov 30 2007","10" "20080401 09:43:08.770798 +0100s","ANOTHER TEST","R 3","B TEST","Nov 05... (7 Replies)
Discussion started by: MrG-San
7 Replies

8. UNIX for Advanced & Expert Users

sed in awk ? or nested awk ?

Hey all, Can I put sed command inside the awk action ?? If not then can i do grep in the awk action ?? For ex: awk '$1=="174" { ppid=($2) ; sed -n '/$ppid/p' tempfind.txt ; }' tempfind.txt Assume: 174 is string. Assume: tempfind.txt is used for awk and sed both. tempfind.txt... (11 Replies)
Discussion started by: varungupta
11 Replies

9. Shell Programming and Scripting

sed,awk

Hi, I know sed is stream text editor and not a bit more than that. Can anyone explain its usage and advantages? How is awk different from sed? I donno i am a bit confused about it. But i have coded in awk and shell. Thanks, Nisha :confused: (7 Replies)
Discussion started by: Nisha
7 Replies

10. Shell Programming and Scripting

awk / sed

I have many messages such as the test message below: 00:00000:00021:2002/05/13 13:57:00.51 ERROR:- Test error, my test error!!! I am writing a script in which I need to get everything from the word "ERROR:-" onwards. I normally use awk for these things, but I am not an expert at it so i am... (6 Replies)
Discussion started by: baileyr1
6 Replies
Login or Register to Ask a Question