General :: Creating A Script To Move Or Copy Files Into Multiple Directories Below The Files?
Aug 25, 2009How can you create a script to move or copy files from a main directory into multiple directories below the main directory.
View 7 RepliesHow can you create a script to move or copy files from a main directory into multiple directories below the main directory.
View 7 RepliesI'd like to move a selection of files from all the sub-directories within an overall directory to a single destination. I don't want any of the directory structure, just the files themselves. This is what I tried so far:
mv /dir1/*/igs*.sp3.Z /dir2
There are other .sp3.Z files in the * directories within /dir1 but I just need the ones that start with igs..
I am to rename all the files within a directory (which contains multiple subdirectories) recursively without invalid characters.
I tried the coding posted above.
find . -type f -printf '%p
' | while read file; do
oldfile=$(basename "$file")
newfile=$(echo "$oldfile" | sed 's/[^A-Za-z0-9_.]/_/g')
if [ ! "$newfile" == "$oldfile" ]; then
echo mv "$file" "${file%$oldfile}$newfile"
code....
but I get an error on both of them stating "find: bad option -printf find: [-H | -L] path-list predicate-list"
I want to move all files and directories that are 1 month old out to back up into a separate folder. There will be a lot of files and I want to make sure it copies properly. The problem I'm having is integrating a MD5SUM into it to check integrity. MD5SUM is not recursive, so I figured it would work in a loop when it copies each individual file, I'll do a md5sum on each file and delete that md5 once its verified it copied ok.
[Code]...
I also need some sort of error handling to output all md5's that didnt pass the hash check.
I've got a simple command that does almost what I want.
The following will locate all files with a suffix of '_compressed.swf' and copy each into its same directory with a '.bak2' appended:
However, I need to replace '_compressed.swf' with '_content.swf' I'd like to use find, rather than recursive flag on cp for consistency.
Objective
In: /content/somefile_compressed.swf
Out: /content/somefile_content.swf
I have 2 massive duplicate dirs of the same format as below:
dir1
subdir1
file1
subdir2
file1
subdir3
file1
...
Dir2 is the same, but it has some newer files of the same name. I want to copy all file1's from Dir2 to the same name and folders in dir1. So basically something like:
cp -pr bkpDir1/*/*-big.gif Dir2/*/*-big.gif
This works for singular cases:
cp -pr bkpDir1/uniquesubdir/*-big.gif Dir2/uniquesubdir/*-big.gif
But not for wildcards:
cp -pr bkpDir1/subdir*/*-big.gif Dir2/subdir*/*-big.gif
Anyway the aim is to do the first cp above, I have tried a few options using find. In trying to show an example stumbled upon a way that worked, while in dir2:
find */*-big.gif | xargs -i cp -rp {} ../dir1/{}
Sure there are better ways also...
I have a question which has been in part answered many times but nothing I found relateds completely to my situation. I am sure there will be people who will say RTFM but believe me I did, and searched as well but to no avail. I have a situation where I want to copy files created withing last hour in one directory into another one. The problem is that that the directories are on different levels in the dir tree so the absolute path is different. But I want to keep the relative path the same.
I want to copy new files from /mnt/path_to_webdav/user to /home/user. so if there is new file /mnt/path_to_webdav/user/doc/xy.txt I want it to be copied to /home/user/doc/xy.txt. Also if there is a new dir, say /mnt/path_to_webdav/user/newdir I want a new dir to be created in /home/user/newdir with all the files in it, should there be any. I can do find with exec and copy all the files into one directory.This is not what I want though. How do I preserve the relative path and get the files copied into their corresponding directories?
I have 60+ directory's each containing multiple .doc files. I need to move them to a single directory and keep their file name intact. I don't think cp will do that with out listing all the file names. I was thinking of something like: cp -r /dir/*.doc /newdir . Or should I use a combo like find -type *.doc|cp /newdir?
View 5 Replies View RelatedDescription: I am a newly appointed system engineer taking care of linux servers. We have a new set of data coming in which need below configuration: How to do a script with function?:
for files with ".txt" in sm
copy each of the files to folder : sm1 and sm2 (log every copy)
if succesful:
remove original
log into the log file
if not successful: (not successful copying 1 particular file to all the folders)
retain and retry
log into the log file
mail out the admin with that particular file name
I have already do try a bit:
cd /export/home/
for dir in sm1 sm2; do
cp -p sm/*.txt $dir/
done
Is my starting right? How to do the rest parts?
I need to create subdirectories in about 300 existing directories - the subdirectory will have the same name in all 300 existing directories. How do I do this using the mkdir command using a regular expression or globbing?
View 3 Replies View RelatedI am wondering how I would go about creating a .deb file that would extract it's contents to two different folders. I would have one file directory that should be extracted to /opt and I have a second that should bextracted to the current user's home folder and /etc/skel - How would I go about doing this?
View 1 Replies View RelatedI have been searching for a solution to the following problem:
When my distro of choice updates Firefox web browser, the directory name is '/usr/lib/firefox-<version>'.
The problem here is that the directory name is dynamic by nature and doesn't allow a simple static solution, e.g.
'cp -rf /usr/local/files/bookmarks.html /usr/lib/firefox/defaults/profile'.
The same quandary applies when adding extensions, changing prefs etc.
I have looked at the following commands:-
find, sed, xargs, grep, awk, fprint.
Unfortunately my grasp of syntax and programming is very simple at best.
A function by name abc is called in many files. I want to copy all the lines with the function call to an output file.A simple grep on function name doesn't help me as the function call is spanning across multiple lines as follows:
abc(parameter1,
parameter2,
parameter3);
So I want to copy all the three lines (till semicolon) to the output file.The problem is because there are more than 200 calls for the same function and I cannot do it manually
I have a directory tree with lots of folders. I need to gather all files of same type, say .txt, and place them in a different folder all by themselves.
I know I can use the mv command, but it won't let me go through all the subdirectories of my folder, just the current one. How can I search through all subdirectories for all .txts or whatever and move them to a folder of my choosing?
I have a bunch of .7z files in a directory, and I need to put each one of them into a separate directory, named after the file (without extention). The command line I use:
Code:
find . -type f | mkdir `sed -e "s:..(.*)...:1:"` ; ls | grep .7z | cp * `sed -e "s:(.*)...:./1/:"`
Copying fails though:
[Code]....
PS. I don't want to use scripts, I want to do it using simple commands and piping.
im using ubuntu 10.04 sometimes i find more useful to use the terminal to copy or move folders or files to other directories (more important when they need admin permission)
today i tried to copy ALL files from a directory to another. and i realized that i dont know. i know that that "~ mv /ThisThing/ /ThisFolder/" "~ cp /ThisThing/ /ThisFolder/" but howould i be able to copy EVERYTHING from a folder into another. tis is diferent from copying the folder itself (which i also would like to know)i bet is a simple thing that i havent figured out!
how do i move multiple files at once using the command line?
View 4 Replies View RelatedI have to copy and move files over two systems all the time. So when I am on system 1, I simply use the command
Code:
$scp * system2:/some_directory
There are many files in PWD of system1 with different extensions. Of all the files in the PWD on system1, I don't need a file called *residual.dat as it it particularly big and wastes a lot of time copying.How can I make a shortcut so that every time I do scp, it copies everything but the *residual.dat file?
We have two folders: source folder and destination folder. In source folder we have many sub folders and many files of different type!Script that would copy or move defined number of files from source to destination folder. Files must be selected randomly and sub folder in source folders must be selected randomly and we don't copy or move defined number of files just form one sub folder in source folder. In destination folder sub directory structure of source folder should not be preserved. Solution should be robust and as simple as possible.
View 9 Replies View RelatedI wonder if it's normal that when:-I copy files; -I move files;-I download data (files, video, etc.) from the Internetthe CPU is completely loaded at 100%. In comparison, on Windows XP (SP2), on the same computer, the same situation makes the CPU consumes only half of the processor, oscillating near of 50%.N.B. RAM is not affected by the above problem. My computer is equipped with:-CPU AMD Athlon XP 2400 + (2.0 GHz)-685 MB of RAM-Motherboard: SiS-741
View 1 Replies View RelatedI need to replace ":" from multiple files names, since I am going to copy those files from a linux partition, which admit the ":" to a FAT32 partition, which does not.
Example:
original name: eg06_ana_21-05-06_09:21:03.JPG
wished name: eg06_ana_21-05-06_09-21-03.JPG
I have googled a lot but I have not been able to adapt the examples given by people to my aim.
It seems that rename command is what I should use, but I have no idea to build the correct pearl expression.
I am attempting to copy a set of sub folders from their multiple parent directories to a new location.
For example, I have three folders to copy:
I would like them to be copied to:
In actuality there are many folders besides folder1, folder2, folder3, and no numerical order exists. So, the folder named 'photos' would be copied to its parent folder's name in a new location. I would need this to occur for all folders in the '/home/user' directory.
I am runnig WinXP and OpenSUSE 11.4 on dual boot.Generaly i am using SUSE, XP only for UpNP Media Center(server) to watch movies stored on my computer on TV via STB.For this i am using TVersity for wich i not found yet Linux alternative - or better say - i found it but is too heavy for my PC(P4 1.6 Mhz, 768 MB RAM, an dinosaur from Nvidia Vanta with 64 MB RAM)But this is not a part of my question.My question is how to transfer(copy, move...?) files from SUSE to WinXP?A large files like avi, mkv, mostly movies.I solved this to copy them on USB and then from USB to Win.This is a very slow proces because my PC have only USB 1.0And before asked me - all files are legaly downloaded from paysites.From SUSE, partitions(disks), folders and files under WinXP are visible but is not possible to copy files on them - acces is denied.Is there any way to do this?Suse is insatlled on LVM - /root/home/swapI am interesting ONLY to copy files from SUSE to Win, not at al from Win to SUSE.Code:
Directory: /home/janez
Sun Aug 14 07:53:26 CEST 2011
janez@linux-cia6:~> su - root
[code]...
I can't perform any of those.Except from the Terminal.I didn't edit any permission... nor installed anything.Don't know what to do.Also, "Move to Trash" appears grayed out, in the right-click menu (for all the files/folders).
View 8 Replies View RelatedI have read alot about exporting or printing to PDF using open office. Haven t tried it but its pretty standard to be able to do that from a word processor so I'm not worried about it.here is an example of what I need to do. I just put together my wifes resume. I had the cover sheet in .doc I had the resume in .doc I had a pdf of some ground plans for large scale gardens she had done and I had a few new pix in jpeg.
I was able to go into Lightening PDF hit create new, pull all those files in, sort them in the order I needed and it created a single mutipage .pdf from those files.
Any luck on finding something like that for linux? That would be just about the last piece of software (If I can make wings work for me) that I need to start testing ubuntu as a primary operating system.
Is it possible to move multiple files and folders at once in terminal?
View 5 Replies View RelatedI liked the idea of the "cosmos" screensaver/desktop, but wanted to add my own pictures to the application. I navigated to /usr/share/backgrounds/cosmos and tried to drag and drop. I quickly found that I did not have permission to do this.
I googled my problem and found some command line tutorials telling me to sudo cp. My problem is that I have about 30 pics that I want to move in there, and I don't think I can just move the directory, they have to be in that folder as the pictures themselves.
I don't really feel like typing the cp line multiple times with multiple randomly named image files.
Is there a way to have the command line cp all of my files from one directory to another?
Ubuntu 10.04
I want to copy all directories, files, and hidden files and hidden directories with one command. I want these items to replace any same items in the target directory.
I have tried several things, such as:
cp -r *
cp -aR *
but I only seem to get visible files and directories. Obviously, I am missing something. (A brain, probably....)
1. Every Sunday2. Find all files older than 1 day3. Gzip these file4. Tar up the gzipped files into one tar file.5. Name the tarball with a date stamp indicating what day it was created, so we know that week's files are in the file
View 3 Replies View RelatedI have a vary unique problem with file and directory ownership. I need to change the ownership of multiple files and directories under a specific subdirectory.Under this directory structure there are files and directories owned my different users and groups. I need to change all files and directories owned by "user1" to "user2". but if any are owned by "user3" I need those left alone.Is there a simple way to do this or will I need to traverse the structure and change things one at a time.
View 3 Replies View Related