10-23-2002
using tail -f
Working in HP-UX 10.20. I eventually want to write a bourne shell script to handle the following problem, but for now I am just toying with it at the command line.
Here's what I am basically trying to do:
tail -f log_X | grep n > log_Y
I am doing a tail -f on log_X . Once it sees "n", I would like for it to grep it, then put it into log_Y. It ain't making it to log_Y.
I have been manually adding "n" to log_X, and the tail command is definitely seeing it, but it fails to pass it to log_Y.
Why? Is it because the command is trying to "complete" the tail -f before it executes the > (redirect) to log_Y??
Is there a better way to appraoch this?
TYIA
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello all,
I have search the forum and could not find an answer...Here is what I am trying to do. Every 15 minutes, a script send uptime output to a logfile (dailylog.log), that file contains lines like the one below:
11:21am up 44 days, 19:15, 1 user, load average: 0.00, 0.02, 0.03
... (7 Replies)
Discussion started by: qfwfq
7 Replies
2. Shell Programming and Scripting
I am trying to extract a particular line from a.log which keeps appending every sec and output that into a newfile b.log which should append itself with filtered data received from a.log
I tried
tail -f a.log |grep fail| tee -a b.log
nothing in b.log
tail -f a.log |grep fail >>b.log
... (4 Replies)
Discussion started by: wannalearn
4 Replies
3. Shell Programming and Scripting
Hi All,
I notice that the below tail cannot be done.
How can i modify this code such that i can always "tail" a variable number of lines ?
set num = 100
cat filename|grep xxx| tail -$num (5 Replies)
Discussion started by: Raynon
5 Replies
4. Shell Programming and Scripting
The program that is running on my machine generates log files. I want to be able to know the number of lines that contain "FT" in the most recent log file. I wrote the following, but it always returns zero. And I know the count is not zero. Any ideas?
ls -rt *.log | tail -n 1 | grep -c FT (6 Replies)
Discussion started by: sdilucca
6 Replies
5. Shell Programming and Scripting
Hi All,
My query seems to be silly but Iam unable to find where the exact problem lies.
I have a script to unzip set of files
here is the script
#!/bin/ksh
Count=`cat /home/gaddamja/Tempfile | wc -l`
while
do
Filename=`cat /home/gaddamja/Tempfile |tail -$Count | head -1`
cd... (7 Replies)
Discussion started by: jagadish_gaddam
7 Replies
6. UNIX for Dummies Questions & Answers
I need to tail -f a file so I can monitor it as it is being written to. However, there is a lot of garbage in the file that I don't care about. So normally I would just pipe and grep for the string that is important to me. However, in this case, there are two things I need to grep for. I can't... (3 Replies)
Discussion started by: Silver11
3 Replies
7. Shell Programming and Scripting
I have file that is being constantly written to
example: file.txt
ABC
EBC
ZZZ
ABC
I am trying to create a simple script that will tail this file and at the same time using tr to change B to F on lines containing 'B'.
I tried this and it doesn't seem to work.
#!/bin/bash
tail -f... (8 Replies)
Discussion started by: zerofire123
8 Replies
8. Shell Programming and Scripting
Hi,
I want to write a script which will tail a particular file for 15 mins and then sleep for 10 mins and again tail for 15 mins. This cycle will go on for a limited period of time.
How can i ensure that tail command will run for 15 mins before calling sleep command
Thanks (6 Replies)
Discussion started by: @bhi
6 Replies
9. Shell Programming and Scripting
I have 250 files that have 16 columns each - all numbered as follows stat.1000, stat.1001, stat.1002, stat.1003....stat.1250.
I would like to join all 250 of them together tail by tail as follows. For example
stat.1000
a b c
d e f
stat.1001
g h i
j k l
So that my output... (2 Replies)
Discussion started by: kayak
2 Replies
10. Shell Programming and Scripting
because the tail +2 on the first line gives me the file name pomga I do not want anything like what I miss
tail +2 ejemplo.txt
ouput
==> ejemplo.txt <==
1
2
3
4
5
6
7
8
9
10 (2 Replies)
Discussion started by: tricampeon81
2 Replies
TAIL(1) BSD General Commands Manual TAIL(1)
NAME
tail -- display the last part of a file
SYNOPSIS
tail [-f | -F | -r] [-b number | -c number | -n number] [file ...]
DESCRIPTION
The tail utility displays the contents of file or, by default, its standard input, to the standard output.
The display begins at a byte, line or 512-byte block location in the input. Numbers having a leading plus (``+'') sign are relative to the
beginning of the input, for example, ``-c +2'' starts the display at the second byte of the input. Numbers having a leading minus (``-'')
sign or no explicit sign are relative to the end of the input, for example, ``-n 2'' displays the last two lines of the input. The default
starting location is ``-n 10'', or the last 10 lines of the input.
The options are as follows:
-b number
The location is number 512-byte blocks.
-c number
The location is number bytes.
-f The -f option causes tail to not stop when end of file is reached, but rather to wait for additional data to be appended to the
input. The -f option is ignored if the standard input is a pipe, but not if it is a FIFO.
-F The -F option is the same as the -f option, except that every five seconds tail will check to see if the file named on the command
line has been shortened or moved (it is considered moved if the inode or device number changes) and, if so, it will close the current
file, open the filename given, print out the entire contents, and continue to wait for more data to be appended. This option is used
to follow log files though rotation by newsyslog(8) or similar programs.
-n number
The location is number lines.
-r The -r option causes the input to be displayed in reverse order, by line. Additionally, this option changes the meaning of the -b,
-c and -n options. When the -r option is specified, these options specify the number of bytes, lines or 512-byte blocks to display,
instead of the bytes, lines or blocks from the beginning or end of the input from which to begin the display. The default for the -r
option is to display all of the input.
If more than a single file is specified, each file is preceded by a header consisting of the string ``==> XXX <=='' where ``XXX'' is the name
of the file.
The tail utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
cat(1), head(1), sed(1)
STANDARDS
The tail utility is expected to be a superset of the IEEE Std 1003.2-1992 (``POSIX.2'') specification. In particular, the -b, -r and -F
options are extensions to that standard.
The historic command line syntax of tail is supported by this implementation. The only difference between this implementation and historic
versions of tail, once the command line syntax translation has been done, is that the -b, -c and -n options modify the -r option, i.e. ``-r
-c 4'' displays the last 4 characters of the last line of the input, while the historic tail (using the historic syntax ``-4cr'') would
ignore the -c option and display the last 4 lines of the input.
HISTORY
A tail command appeared in Version 7 AT&T UNIX.
BUGS
When using the -F option, tail will not detect a file truncation if, between the truncation and the next check of the file size, data written
to the file make it larger than the last known file size.
BSD
June 6, 1993 BSD