Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Arglist too long...mv'ed crazy
- X-seq: zsh-users 11362
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: meino.cramer@xxxxxx, zsh-users@xxxxxxxxxx
- Subject: Re: Arglist too long...mv'ed crazy
- Date: Sat, 31 Mar 2007 22:58:24 -0700
- In-reply-to: <20070401021034.GA15269@solfire>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <20070401021034.GA15269@solfire>
On Apr 1, 4:10am, meino.cramer@xxxxxx wrote:
}
} zargs -- ../../cur/* -- mv ???????????
}
} Due to this I have two questions:
} How can I cope the "reversed argument" problem with zargs in general?
You can either put a wrapper around the command like
function mvto { local target=$1; shift; mv $* $target }
zargs -- ../../cur/* -- mvto /back/up/folder
or (in the specific case of "mv") you can use
zargs -- ../../cur/* -- mv --target-directory=/back/up/folder
(which as nearly as I can tell exists solely for compatibility
with xargs and its ilk)
or you can use the --replace option to zargs
zargs --replace -- ../../cur/* -- mv {} /back/up/folder
The wrapper function could be generalized:
function first2last { local c=$1 d=$2; shift 2; $c $* $d }
zargs -- ../../cur/* -- first2last mv /back/up/folder
} How can I handle the "arglist too long" problem with mv?
You could try using zsh's built-in "mv"
zmodload -i zsh/files
mv ../../cur* /back/up/folder
but that won't work if /back/up/folder is on a different filesystem
than ../../cur, because the builtin mv won't fall back on cp+rm.
You might also consider
tar --create --remove-files --directory=../../cur --file=- . |
tar --extract --directory=/back/up/folder --file=-
However, that's a little dangerous because the --remove-files might
take effect even if the --extract fails for some reason.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author