I have finally found. The following command find the latest file, including the handling of filename with spaces.
find . -type f -printf %p";" | xargs -d ";" ls -t | head -1
So long as xargs only invokes ls once.
---------- Post updated at 05:43 PM ---------- Previous update was at 05:36 PM ----------
Quote:
Originally Posted by frans
I don't think there's any need for that while loop. You should be able to get it done using find's exec primary.
Save yourself a few calls to stat as well.
Also, if you reverse the sort order, you can use head and finish faster (no need to pipe everything through cut and tail).
I need to perform a non-recursive find in Unix. Sounds simple, but it doesn't actually work. The command ALWAYS searches through the subdirectories.
Any ideas? I am on DEC Unix :-( (3 Replies)
Hey Guyz I have a requirement something like this..
a part of file name, date of modification of that file and a text is entered as input.
like
Date : 080206 (MMDDYY format.)
filename : hotel_rates
text : Jim
now the file hotel_rates.ZZZ.123 (creation date is Aug 02 2006) should be... (10 Replies)
Hi,
Would appreciate if someone could help me with the following requirement.
Say I have a directory where a file called abc_$timestamp.txt is created couple of times in a day.
So this directory would have files like
abc_2007-03-28-4-5-7.txt
abc_2007-03-28-3-5-7.txt... (4 Replies)
Hi guys,
I have a directory in UNIX having files with the below format, i need to pickup the latest file having recent timestamp embedded on it, then need to rename it to a standard file name.
Below is the file format:
filename_yyyymmdd.csv, i need to pick the latest and move it with the... (2 Replies)
Please help me out how to identify the latest file in one directory by looking at file's timestamp or datestamp. You can say using system command. Thanks (10 Replies)
Is there a way to use find command to get the latest file and cp it into a certain dir at the same try.
example find the latest file and cp to a diff dir. (5 Replies)
Hi All,
This is the first time I have posted to this forum so please bear with me. Thanks also advance for any help or guidance.
For a project I need to do the following.
1. There are multiple files in multiple locations so I need to find them and the location. So I had planned to use... (9 Replies)
Is there a way to use the find command to recursively scan directories for files greater than 1Gb in size and print out the directory path and file name only?
Thanks in advance. (6 Replies)
I have tried the following code and with that i couldnt achieve what i want.
#!/usr/bin/bash
find ./ -type f \( -iname "*.xml" \) | sort -n > fileList
sed -i '/\.\/fileList/d' fileList
NAMEOFTHISFILE=$(echo $0|sed -e 's/\/()$*.^|/\\&/g')
sed -i "/$NAMEOFTHISFILE/d"... (2 Replies)
Discussion started by: gold2k8
2 Replies
LEARN ABOUT BSD
xargs
XARGS(1) General Commands Manual XARGS(1)NAME
xargs - construct argument list(s) and execute utility
SYNOPSIS
xargs [ -t ][[ -x ] -n number ][ -s size ][ utility [ arguments... ]]
DESCRIPTION
The xargs utility reads space, tab, newline and end-of-file delimited arguments from the standard input and executes the specified utility
with them as arguments.
The utility and any arguments specified on the command line are given to the utility upon each invocation, followed by some number of the
arguments read from standard input. The utility is repeatedly executed until standard input is exhausted.
Spaces, tabs and newlines may be embedded in arguments using single (`` ' '') or double (``"'') quotes or backslashes (``''). Single
quotes escape all non-single quote characters, excluding newlines, up to the matching single quote. Double quotes escape all non-double
quote characters, excluding newlines, up to the matching double quote. Any single character, including newlines, may be escaped by a back-
slash.
The options are as follows:
-n number Set the maximum number of arguments taken from standard input for each invocation of the utility. An invocation of utility will
use less than number standard input arguments if the number of bytes accumulated (see the s option) exceeds the specified size or
there are fewer than number arguments remaining for the last invocation of utility. The current default value for number is
5000.
-s size Set the maximum number of bytes for the command line length provided to utility. The sum of the length of the utility name and
the arguments passed to utility (including /dev/null terminators) will be less than or equal to this number. The current default
value for size is ARG_MAX - 2048.
-t Echo the command to be executed to standard error immediately before it is executed.
-x Force xargs to terminate immediately if a command line containing number arguments will not fit in the specified (or default)
command line length.
If no utility is specified, echo(1) is used.
Undefined behavior may occur if utility reads from the standard input.
The xargs utility exits immediately (without processing any further input) if a command line cannot be assembled, utility cannot be
invoked, an invocation of the utility is terminated by a signal or an invocation of the utility exits with a value of 255.
The xargs utility exits with a value of 0 if no error occurs. If utility cannot be invoked, xargs exits with a value of 127. If any other
error occurs, xargs exits with a value of 1.
SEE ALSO echo(1), find(1)STANDARDS
The xargs utility is expected to be IEEE Std 1003.2("POSIX") compliant.
June 6, 1993 XARGS(1)