#!sh grep and move files
Mike Meyer
mwm-dated-1049829134.52a521 at mired.org
Thu Apr 3 11:12:16 PST 2003
In <200304031147.30097.mbettinger at championelevators.com>, Matthew Bettinger <mbettinger at championelevators.com> typed:
> I am trying to find the best way to search through several thousand files and
> move some to a different directory. The files are all prefixed with LB.
> Like, LBX99.DAT141683.
> 1~TA~ (standing for timeand attendance labor transactions)
> I've tried
> #!/usr/bin/sh
> for x in `find /dir -type f -exec grep '1~TA' [] \;`
> do
> mv $x /newdir
> done
Assuming there are few enough matching files that you don't run out of
arguments, try:
cd /dir; mv $(grep -lr 1-TA- .) /newdir
will do the trick.
If you have to man files for arguments, then you can use xargs:
$ cd /dir
$ grep -lr 1-TA- . | xargs -J % mv % /newdir
<mike
--
Mike Meyer <mwm at mired.org> http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.
More information about the freebsd-questions
mailing list