Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


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

grep, maybe



The move can be done via xargs.

    find ... | xargs grep -l ... | sed ... | xargs -I '{}' mv '{}'
/path/to/destination/



On Thu, Oct 29, 2009 at 11:56 AM, John Abreau <jabr-mNDKBlG2WHs at public.gmane.org> wrote:
> Actually, this will fail due to the "mv" command line being too long.
> However, the part between the $( ... ) gives you a list of all folders
> to be moved.
>
> In case there are nested folders, the "sort -u" should be changed
> to "sort -ru" to reverse-sort the list, so inner folders get moved
> before their parent is moved.
>
>
>
> On Thu, Oct 29, 2009 at 11:47 AM, John Abreau <jabr-mNDKBlG2WHs at public.gmane.org> wrote:
>> Assuming no spaces or other troublesome metacharacters
>> in the filenames and folder names:
>>
>> ? ?mv $( find /path/to/src/root -type f | xargs grep -l moe |
>> ? ? ? ?sed 's-/[^/]*$--' | sort -u ) /path/to/destination/
>>
>> The example should all be on one line, of course.
>>
>>
>>
>>
>> On Thu, Oct 29, 2009 at 11:38 AM, Maurice <mauricep-dJH4IiyFVKEZfdn3qmwGpR2eb7JE58TQ at public.gmane.org> wrote:
>>> Looking for some guidance;
>>>
>>> I have several files within several folders (5 files per folder, and
>>> thousands of folders) that I need to search a text file within each
>>> folder for a word match (like three_little_pigs.txt, and I need to find
>>> "moe", if he's listed) and then when a match is found I need to move
>>> (not copy) that entire folder (and it's 3~5 files contained within) to
>>> another location...
>>>
>>> I'm thinking grep, but don't know the correct syntax to make all this
>>> happen.
>>> I can easily find all the folders (1949 of them) and the word match 3923
>>> times within the text file(s)...
>>>
>>>
>>> Any ideas???
>>>
>>>
>>> --
>>> -Maurice Pelletier
>>> Child Development Services - Cumberland County
>>> 50 Depot Road
>>> Falmouth, ME 04105
>>> 207-781-8881 (voice)
>>> 207-781-8855 (fax)
>>>
>>> www.cds-cumberland.org
>>>
>>>
>>> "Linux -- it's not just for breakfast anymore..."
>>> -Moe
>>>
>>>
>>>
>>> _______________________________________________
>>> Discuss mailing list
>>> Discuss-mNDKBlG2WHs at public.gmane.org
>>> http://lists.blu.org/mailman/listinfo/discuss
>>>
>>
>>
>>
>> --
>> John Abreau / Executive Director, Boston Linux & Unix
>> AIM abreauj / JABBER jabr-iMZfmuK6BGBxLiRVyXs8+g at public.gmane.org / YAHOO abreauj / SKYPE zusa_it_mgr
>> Email jabr-mNDKBlG2WHs at public.gmane.org / WWW http://www.abreau.net / PGP-Key-ID 0xD5C7B5D9
>> PGP-Key-Fingerprint 72 FB 39 4F 3C 3B D6 5B E0 C8 5A 6E F1 2C BE 99
>>
>
>
>
> --
> John Abreau / Executive Director, Boston Linux & Unix
> AIM abreauj / JABBER jabr-iMZfmuK6BGBxLiRVyXs8+g at public.gmane.org / YAHOO abreauj / SKYPE zusa_it_mgr
> Email jabr-mNDKBlG2WHs at public.gmane.org / WWW http://www.abreau.net / PGP-Key-ID 0xD5C7B5D9
> PGP-Key-Fingerprint 72 FB 39 4F 3C 3B D6 5B E0 C8 5A 6E F1 2C BE 99
>



-- 
John Abreau / Executive Director, Boston Linux & Unix
AIM abreauj / JABBER jabr-iMZfmuK6BGBxLiRVyXs8+g at public.gmane.org / YAHOO abreauj / SKYPE zusa_it_mgr
Email jabr-mNDKBlG2WHs at public.gmane.org / WWW http://www.abreau.net / PGP-Key-ID 0xD5C7B5D9
PGP-Key-Fingerprint 72 FB 39 4F 3C 3B D6 5B E0 C8 5A 6E F1 2C BE 99







BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org