Re: Argument List too Long

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02Jun2010 09:19, cliff here <c4ifford@xxxxxxxxx> wrote:
| basically it takes stdout and you pipe to stdin ... but it basically handles
| each argument one at a time instead of in a batch.
| 
| find /tmp -name core -type f -print | xargs /bin/rm -f

The OP was wanting:

  mv files... target-dir

xargs puts the filenames at the _end_ of the command line, and thus
doesn't play nice. We can leave aside the horrible quoting problems it
has, since he can get away with find's -print0 predicate and xargs' -0
option.

Probably the easiest fix is a small wrapper script for mv which mangles
the line to work around xargs, eg a script called "move-to.sh" thus:

  #!/bin/sh
  target=$1
  shift
  exec mv -- ${1+"$@"} "$target/."

and then call:

  find . -type f -print0 | xargs -0 sh move-to.sh the-target-dir

and he would be away. Unless he has a directory tree structure to
preserve, in which case more work is needed.

And BTW, try to lose the horrible habit of using the -f option to rm; it
is usually not needed. I know that many distros ship with "rm" aliases
to "rm -i", which teaches people to reach automatically for -f to avoid
much pain, but it is better to get rid of the alias, not to turn off all
the sanity checks by habit. (And in a script the aliases are not in
play, so you don't need -f there unless you really do not want to notice
when you issue lots of totally bogus rm commands.)

Cheers,
-- 
Cameron Simpson <cs@xxxxxxxxxx> DoD#743
http://www.cskk.ezoshosting.com/cs/

The ZZR-1100 is not the bike for me, but the day they invent "nerf" roads
and ban radars I'll be the first in line......AMCN

-- 
redhat-list mailing list
unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe
https://www.redhat.com/mailman/listinfo/redhat-list


[Index of Archives]     [CentOS]     [Kernel Development]     [PAM]     [Fedora Users]     [Red Hat Development]     [Big List of Linux Books]     [Linux Admin]     [Gimp]     [Asterisk PBX]     [Yosemite News]     [Red Hat Crash Utility]


  Powered by Linux