Since ls is run twice, there's a race condition. If a directory is deleted in the meantime, a directory that should have been kept will be nuked. Similarly, if a directory is added in the meantime, a directory that should have been removed will persist.
There is no need to run ls twice. You can just use tail's ability to index releative to the beginning of the data, tail -n +10 versus tail -n 10. However, this approach still requires some arithmetic, since skipping the first x lines requires an option argument of x+1.
I wouldn't bother with tail. In my opinion, the simplest solution is to use sed:
Note that xargs does not play well with filenames containing whitespace or quotes. If such filenames occur, instead of xargs, a less efficient while-read loop would be necessary.
Regards,
Alister
What is the command to remove files that are generated 6 hours or older? The find and remove tells only how to remove if the file is one day old or more. Appreciate quick reply. Thanks (3 Replies)
Hi all,
I have an H80 that I'm migrating to 5.3 and prior to doing so it needed the firmware upgraded. I don't have copies of the old firmware that was on it since I was not the one who installed it and there were no copies to be found on the server itself. I installed the latest version and... (4 Replies)
Script help, I need to delete files that are older than 7 days. I do that automatically but I know that a cron job can do the job for me. Any help is greatly appreciated, as you can see, I am a DOS or WINDOWS guy. Little on UNIX. Thanks (3 Replies)
Hi All,
.profile has been replaced with a new one. I need to know the variables used in the older version of .profile. I have a session opened using the old .profile.
Is there a way that I can get the exact file.
I had some luck by using set command. But is there any way that I can get the... (5 Replies)
When I am trying to use below code of for loop on older version of ksh
it not working,and I just want to use only FOR loop
-----------------
for i in (1..5)
do
echo $i
done
-----------------
please suggest.it really stoping me.
FYI: i want to do this only by for loop (2 Replies)
Hi,
I am trying to downgrade the version of rsyslog to the older version (i.e) and when i issue the below command to check the packages i dont see the required package (i.e)
and when i try to install it is complaining about package not found.
Please advise on how to install the... (1 Reply)
Which older version and variant of Debian Linux ISO image should I use?
I attempted to install two versions of Debian Linux Operating System
onto my older full tower computer.
First version, V8.5.0, Amd64, xfce, 32Bit.
Second version V7.11.0, i386, 32Bit.
When trying to install... (1 Reply)
Hello, I'm running Ubuntu 18.04 and I would like to install libboost-python version 1.46. Currently I have installed version 1.65:
wakatana@local-machine:~$ dpkg -l | grep libboost-python
ii libboost-python-dev 1.65.1.0ubuntu1 amd64 ... (1 Reply)
Discussion started by: wakatana
1 Replies
LEARN ABOUT REDHAT
tail
TAIL(1) FSF TAIL(1)NAME
tail - output the last part of files
SYNOPSIS
tail [OPTION]... [FILE]...
DESCRIPTION
Print the last 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With
no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
--retry
keep trying to open a file even if it is inaccessible when tail starts or if it becomes inaccessible later -- useful only with -f
-c, --bytes=N
output the last N bytes
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent
-F same as --follow=name --retry
-n, --lines=N
output the last N lines, instead of the last 10
--max-unchanged-stats=N
with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or
renamed (this is the usual case of rotated log files)
--pid=PID
with -f, terminate after process ID, PID dies
-q, --quiet, --silent
never output headers giving file names
-s, --sleep-interval=S
with -f, sleep for approximately S seconds (default 1.0) between iterations.
-v, --verbose
always output headers giving file names
--help display this help and exit
--version
output version information and exit
If the first character of N (the number of bytes or lines) is a `+', print beginning with the Nth item from the start of each file, other-
wise, print the last N items in the file. N may have a multiplier suffix: b for 512, k for 1024, m for 1048576 (1 Meg).
With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue
to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descrip-
tor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file by reopening it periodically to see if
it has been removed and recreated by some other program.
AUTHOR
Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Meyering.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU-
LAR PURPOSE.
SEE ALSO
The full documentation for tail is maintained as a Texinfo manual. If the info and tail programs are properly installed at your site, the
command
info tail
should give you access to the complete manual.
tail (coreutils) 4.5.3 February 2003 TAIL(1)