just found out this bug and wanted to tell you... now i saw you corrected yourself
big thanks for this one!
Thanks to both of you, this was a huge help for me.
I wanted to add this:
By adding "-maxdepth 1" to the find command, it prevents going through subdirectories, which I didn't want.
Of more use to others though, by using "head -n -3", I can get a list of all but the three newest files, and the "-r" flag on xargs prevents it from running "rm -v" if there are three or fewer files.
However, right now, xargs won't accept files with spaces... There are a number of ways around that, you could use "sed s/ /\\ /g" to replace all spaces with "\ ", which would work... I didn't need it for my purposes, so I left it out.
Anyway, thanks a bunch, I've been on and off wondering how to do this for a while, and you put me on the right path.
I'm writing a script to find the oldest file in a directory. I know this can be done by using ls -rt | tail -1 but these are rather large directories and that can be somewhat slow since the script will be running constantly.
Are there any other ways to do this that would be faster? I looked to... (2 Replies)
Hi all,
I need your assistance in removing the oldest file in a directory.
I posted the same thread 3 days back and I got the following answer
ls -1 -t | tail -1 | xargs rm
which is not covering the case when there are directories older than the oldest file.
So, could you please... (2 Replies)
I am using a bash script to perform some automated maintenance on files in a directory. When I run the script using $sh -x script.sh <directory> the script works fine. It sets the variable to the oldest file, and continues on. However when I run the script like this $./script.sh <directory>, it... (5 Replies)
Hi all,
I am a newbie to scripting and I need your help regarding finding the oldest file in a particular directory. My intention is to remove that oldest file.
Are there any options available with the "find" command to do this..
Thanks in advance for your help
Pavan (4 Replies)
I am trying to determine the oldest and most recent files in a huge directory. I am using an ls -tr statement outside my find statement. The directory is too big and I am getting an "arg list too long" error. Is there something I can put in my find statement that doesn't create a list to... (2 Replies)
Hey! I have found similar posts both here and on other sites regarding this, but I cannot seem to get my script to work. I want to delete the oldest file in a test directory if there are more than two files. My script is currently:
#!/bin/bash
MEPATH=/usr/local/bin/test
FILECOUNT=`ls... (4 Replies)
I'm using a directory naming convention to organize files as exemplified here:
2012/Aug/week-20-Aug/23-Thu/tuv.txt
2012/Aug/week-27-Aug/30-Thu/abc.txt
2012/Sep/week-27-Aug/01-Sat/def.txt
2012/Sep/week-03-Sep/07-Fri/xyz.txt
How do I write a command that will list the file names abc.txt and... (4 Replies)
Hi,
My apologies if my query is already available on this forum but I am new and could not find.
I need a script to list all directories/sub directories and files with permissions/groups/owners. The script would run from home directory and should capture every directory. How do I do this?
... (4 Replies)
Hi
I am unable to find files, those are present anywhere in the same directory tree, based on the creation date. I need to find the files with their path, as I need to create them in another location and move them. I need some help with a script that may do the job.
Please help (2 Replies)
Discussion started by: sam192837465
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)