The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert-to-Expert. Learn advanced UNIX, UNIX commands, Linux, Operating Systems, System Administration, Programming, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Recursively changing permissions on files altamaha UNIX for Dummies Questions & Answers 1 03-01-2008 05:15 AM
Moving multiple files and renaming them on the fly daemongk Shell Programming and Scripting 1 06-08-2007 02:36 PM
moving and renaming multiple files rocinante Shell Programming and Scripting 1 06-07-2007 09:20 PM
moving files across multiple servers kymberm UNIX for Advanced & Expert Users 2 10-23-2002 01:04 PM
List Files Recursively roberthawke UNIX for Dummies Questions & Answers 9 06-24-2002 07:19 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-30-2005
moxxx68's Avatar
moxxx68 moxxx68 is offline
Registered User
  
 

Join Date: Mar 2004
Posts: 301
Cool moving multiple files --recursively using BSD

i am using a FreeBSD remote account and I have directory that holds a number of
other directories most of which posses *.tgz *.tar.bz2 *.gz files... on a linux system
i would use a find format such as this to locate and mv *.tgz and *.tar.bz2 files
find ./dir -type f -iname "*.t[argz]*[bz2]" -print | xargs mv --target-directory=dir

on bsd this doesn't work since the mv options are slightly differenr than gnu linux..

i used "find ./dir -depth -print | cpio -ov > tree.cpio" and mv the file to a said dir and
extracted the filesystem but i could not find a way to extract just the files using find,
xargs or cpio on the BSD system... what I had to do was ftp the file to my linux system
do all operations and scp the whole directory of extracted files back to the account..
how would i go about extracting just the files using find and xargs or cpio on BSD
without having to go through the rigmarole of ftping back forth between my linux
system and the remote account...
thanx moxxx68


excuse the grievance: i have a small typo that would make difference to anyone looking at
my post;;
find ./dir -type f -iname "*.t[arg]*[bz]2" -depth -print0 | cpio --null -pvd ./target-dir
without the print0 expression you might get a slightly different result.. unfortunately on some
bsd systems i am pretty sure that it doesn't exist ... i could be wrong though..

Last edited by moxxx68; 09-12-2005 at 09:16 AM.. Reason: typo ...
  #2 (permalink)  
Old 09-07-2005
lingam lingam is offline
Registered User
  
 

Join Date: Mar 2005
Location: shanghai China
Posts: 3
Not using FreeBSD , but if the following find command can display the files you want to move .
find ./dir -type f -iname "*.t[argz]*[bz2]" -print
then you might try this
#find ./dir -type f -iname "*.t[argz]*[bz2]" -print > /tmp/file.list
#tar cvf - `cat /tmp/file.list` | ( cd /target_dir;tar xvf - )
now you just have to remove the old files .
  #3 (permalink)  
Old 09-12-2005
moxxx68's Avatar
moxxx68 moxxx68 is offline
Registered User
  
 

Join Date: Mar 2004
Posts: 301
thanx for the replay will try!
moxxx68
  #4 (permalink)  
Old 09-12-2005
moxxx68's Avatar
moxxx68 moxxx68 is offline
Registered User
  
 

Join Date: Mar 2004
Posts: 301
Quote:
Not using FreeBSD , but if the following find command can display the files you want to move .
find ./dir -type f -iname "*.t[argz]*[bz2]" -print
then you might try this
#find ./dir -type f -iname "*.t[argz]*[bz2]" -print > /tmp/file.list
#tar cvf - `cat /tmp/file.list` | ( cd /target_dir;tar xvf - )
now you just have to remove the old files .
this worked to a certain extent but this command does the same thing although it is not quite what
i am looking for..
find . ./dir -type f -iname "*.t[argz]*[bz]2" -depth -print | cpio --null -pvd ./target-directory
this will do exactly what you did using tar... but still doesn't extract the files only.. my main
concern in the filesystem that I am using is speed since it is a large filesystem and has many
changes applied daily to the files.. using the above methods means i must go in and individually
extract each file one by one.. i think due to my using linux's "xargs mv --target-directory=./"
option using find all the time I may have over looked a few options that are basically simple
or too obvious .. . just for clarification i understand that only the selected files are transfrered
to the desired directory but they are still archived in their original directories since the all
the directories are transfered too empty or not.. what I need is to transfer just the files through
an extraction method to one said directory.. .
thanx moxxx68
Closed Thread

Bookmarks

Tags
cpio

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 05:49 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0