Sponsored Content
Top Forums Shell Programming and Scripting One directory, extracting only files to a new directoy Post 302954296 by Don Cragun on Sunday 6th of September 2015 08:30:42 PM
Old 09-06-2015
You're not bothering me! I just don't understand what you're trying to do.

Please show us a sample of the output produced by the command:
Code:
sha256sum file

with file replaced by the name of one of the files you are processing.

If you sort the output of sha256sum file on the field that contains the checksum it produces, then lines in the output with the same checksum would presumably be copies of each other.

But, if you have several files with the same name with different checksums, the checksum will not tell you anything at all about which file contains the longest recording nor about which file has the highest quality audio.

Please just explain how your code is supposed to determine which file you want to end up in your destination directory if more than one pathname in your source file hierarchy has the same final component.

The only thing in your current code that copies files into your destination directory is the simple command:
Code:
cp -nr /home/directory/origin /home/directory/destination

which will search the file hierarchy rooted in /home/directory/origin and copy every non-directory file it finds to /home/directory/destination that doesn't already exist in that directory. If there is more than one file in the source hierarchy with the same name, the first one encountered will be copied (if there isn't already a file in that directory with that name before the cp was invoked). The order in which cp searches the source hierarchy is unspecified.

Assuming that the destination directory exists at the time you invoke the above cp command, nothing in the commands you have shown us (except that cp command), has any affect on copying files nor on selecting which files will be copied to the destination directory.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Searching a directoy

Hi, How to search a directory and know it's path. Please Help. Thanks (3 Replies)
Discussion started by: gumsun
3 Replies

2. Shell Programming and Scripting

extracting a field from directory path ??????

Hi I'll be getting a directory path as the input to the script. E.g. 1 abc/fsg/sdfhgsa/fasgfsd/adfghad/XXX/fhsad e.g. 2 sadfg/sadgjhgds/sd/dtuc/cghcx/dtyue/dfghsdd/XXX/qytq This input will be stored in a variable. My query is how to extract the field in a variable VAR which occurs... (15 Replies)
Discussion started by: skyineyes
15 Replies

3. UNIX for Advanced & Expert Users

Extracting the different files from directory & its sub directories

Hi Everyone, It would be helpful if someone helps me on this. Requirement: I have a directory which includes different types of files(for example *.java,*.class),but not restricted for only these types. I need to find the same types of file extensions from its directories and subdirectories... (3 Replies)
Discussion started by: rcvasu
3 Replies

4. Shell Programming and Scripting

Extracting Directory From Path

Hi guys. I'm doing some bash scripting and have run into a snag. Say I have the path: /home/one/two/three/ All I need is the 'three' while making a filename. Is there an easy way to do this? I've tried using grep (because I'm that smart.) cut (as I'm unable to tell how many fields there... (3 Replies)
Discussion started by: Drayol
3 Replies

5. Shell Programming and Scripting

Zipping a directory and extracting to another server.

Hello everyone, I am trying to make a script in KSH that will zip an entire directory but leave out one file in that directory. I then need to send that zipped directory to another UNIX box. I am new to UNIX and would appreciate a good template to study from. (3 Replies)
Discussion started by: BrutalBryan
3 Replies

6. Shell Programming and Scripting

Extracting into a remote directory

I need to fit in a module in my Korn Shell script which would extract file_archive.tar.gz residing in the folder /apps/Test of my local machine into a folder /global/ in a remote machine server1. Please help me on this regard. Thanks Kumarjit. (2 Replies)
Discussion started by: kumarjt
2 Replies

7. Shell Programming and Scripting

Directoy Size - avoid cannot read directory

Hello, I need to write a script to check directory size on a linux server. I do not have access to some directories Inside the directory tree so I've got some warning in the output that say : du : cannot read directory .... Could you please help me. I did try Inside of my script to... (2 Replies)
Discussion started by: Aswex
2 Replies

8. Shell Programming and Scripting

How can we automaitcally sync/copy files from one directoy to another ?

Hi, I would like to achieve below requirement, I have a directory "/mydir" and I want to automatically sync/copy all the content of /mydir directory to "/yourdir" directory all the time. meaning, if some application creates a file in /mydir, it supposed to be copied/available in "/yourdir"... (4 Replies)
Discussion started by: aaron8667
4 Replies

9. UNIX for Beginners Questions & Answers

Extracting to another directory using cygwin

I have a file, in Windows, called php_0.27.tar.gz and want to extract it to C:\Program Files\PHP\script through Cygwin using this command: tar -xf php_0.27.tar.gz -C /Program Files/PHP/script But I got an error saying: tar: Files: Not found in archive I tried this command too: ... (8 Replies)
Discussion started by: steve120
8 Replies

10. UNIX for Beginners Questions & Answers

Extracting directory portion.

Dear Experts, I have some directory structure something like follows. I would like to cut portion of it. Would you please help me? I have to run this on several sql's. The directory path is dynamic. I have cut what comes after first "sql" string. Input:... (3 Replies)
Discussion started by: srikanth38
3 Replies
rcp(1)							      General Commands Manual							    rcp(1)

NAME
rcp - Copies files between a local and a remote host or between two remote hosts SYNOPSIS
rcp [-pr] source destination The remote copy command (rcp) is used to copy one or more files between the local host and a remote host, between two remote hosts, or between files at the same remote host. OPTIONS
Preserves the modification times and modes of the source files in the copies sent to the destination; extended file attributes (property list), including the access control list (ACL), if any, are not copied. Without this option, the umask command at the destination modifies the mode of the destination file, and the modification time of the destination file is set to the time the file is received. Copies recur- sively, for directories only, each file and subdirectory in the source directory into the destination directory. DESCRIPTION
By default, the mode and owner of an existing destination file are preserved. Normally, if a destination file does not exist, the mode of the destination file is equal to the mode of the source file as modified by the umask command at the destination host. If the -p option is set, the modification time and mode of source files are preserved at the destination host. If the file has extended file attributes (prop- erty list), including the access control list (ACL), they are not copied and rcp returns the rcp: filename: proplist not copied message. If a remote hostname is not specified for either the source or the destination, rcp is equivalent to the cp command. When copying files to or from a remote host, any remote filename or directory name must be prefixed by the name of the remote host and a : (colon). Local filenames and directory names do not need to have a host specified. However, since rcp assumes that a colon terminates a hostname, local filenames or directory names must have a (backslash) inserted before any colons embedded in the name. If you want to specify an IPv6 address for source or destination, you must prefix the address with the [ (backslash, left bracket) charac- ters and terminate the address with the ] (backslash, right bracket) characters. Because the bracket characters are shell metacharacters, you must precede them with the backslash character. The username entered for the remote host determines the file access privileges rcp uses at that host. Additionally, the username given to a destination host determines the ownership and access modes of the resulting destination file or files. If a hostname is not prefixed by user@, the local username is used at the remote host. If a username is entered, that name is used. In either case, the remote host allows access if one of the following conditions is satisfied: The local host is included in the remote host's /etc/hosts.equiv file and the remote user is not the superuser. The local host and username is included in a $HOME/.rhosts file in the home directory of the remote user account. For security reasons, any $HOME/.rhosts file must be owned by either the remote user or the root user and should have permissions set to 600 (read and write by owner only). In addition to the preceding conditions, rcp also allows access to the remote host if the remote user account does not have a password defined. However, for security reasons, use of a password on all user accounts is recommended. If the path for a file or directory on a remote host is not specified or is not fully qualified, the path is interpreted as beginning at the home directory for the remote user account. Additionally, any metacharacters that must be interpreted at a remote host must be quoted using (backslash), " " (double quotes), or ' ' (single quotes). RESTRICTIONS
The rcp command is confused by output generated by commands in a file on the remote host. In particular, the messages, where are you? and stty: Can't assign requested address can result if output is generated by the startup file. EXAMPLES
To copy a file named localfile from the local host to a remote host named host2, enter: rcp localfile host2:/u/eng/fred To copy a remote file named newplan from one remote host, host1, to another remote host, host2, enter: rcp host1:/u/eng/fred/newplan host2:/u/eng/mary To send a directory subtree report from the local host to the home directory of a user named fred at a remote host named host2, and preserve all modes and modification times, enter: rcp -p -r report fred@host2:report The remote file /u/fred/.rhosts includes an entry specifying the local host and username. FILES
Specifies remote hosts from which users can execute commands on the local host (provided these users have an account on the local host). Specifies remote users who can use a local user account. SEE ALSO
Commands: rsh(1), rlogin(1), rshd(8) Files: rhosts(4) rcp(1)
All times are GMT -4. The time now is 07:34 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy