Sponsored Content
Top Forums Shell Programming and Scripting Copy files listed in a text file - whitespace problem. Post 302249082 by 60doses on Monday 20th of October 2008 02:19:14 PM
Old 10-20-2008
Copy files listed in a text file - whitespace problem.

Hi,

Say I have this text file <copy.out> that contains a list of files/directories to be copied out to a different location.

Code:
$ more copy.out
dir1/file1
dir1/file2
dir1/file3
"dir1/white space"
dir1/file4

If I do the following:

Code:
$copy=`more copy.out`

$echo $copy
dir1/file1 dir1/file2 dir1/file3 "dir1/white space" dir1/file4

$cp -v $copy ./temp
dir1/file4 -> ./temp/file4
cp: space": No such file or directory
cp: "dir1/white: No such file or directory
dir1/file3 -> ./temp/file3
dir1/file2 -> ./temp/file2
dir1/file1 -> ./temp/file1

All of the files managed to be copied except for the file with a whitespace.

I have tried using for loop, but the same thing happened.

Code:
$ copy=`while read line; do echo "$line"; done < copy.out`

$ echo $copy
dir1/file1 dir1/file2 dir1/file3 "dir1/white space" dir1/file4

$ cp -v $copy ./temp
dir1/file4 -> ./temp/file4
cp: space": No such file or directory
cp: "dir1/white: No such file or directory
dir1/file3 -> ./temp/file3
dir1/file2 -> ./temp/file2
dir1/file1 -> ./temp/file1


I edited copy.out and replace "dir1/white space" with dir1/white\ space but it didn't work. Just by simply removing the double quotes failed to work either. I understand that by using echo, it will flatten any whitespace in $variable into a single space, so I've tried using double quotes $variable, but again, it failed to copy the file with a whitespace.

I don't like whitespace in files/dirs name, but some people seem to like it, so I'd like to know how to fix this problem.

Any advice offered is appreciated.

Thanks.
 

10 More Discussions You Might Find Interesting

1. HP-UX

CVSWeb - Directories listed but files not listed

I am using CVSWeb on HPUnix. When i access it, all directories are listed but files are not listed. I am getting the error "NOTE: There are 51 files, but none matches the current tag. " in tomcat sevrer log i am getting the message "rlog warning: Missing revision or branch number after -r"... (0 Replies)
Discussion started by: ganesh
0 Replies

2. Shell Programming and Scripting

Shellscript to sort duplicate files listed in a text file

I have many pdf's scattered across 4 machines. There is 1 location where I have other Pdf's maintained. But the issues it the 4 machines may have duplicate pdf's among themselves, but I want just 1 copy of each so that they can be transfered to that 1 location. What I have thought is: 1) I have... (11 Replies)
Discussion started by: deaddevil
11 Replies

3. Shell Programming and Scripting

Send a mail to IDs listed in a text file

I have a list of mail ids in text file and want a ksh script that reads this text file and sends a mail to all mail ids with same subject line and content. I am using UX-HP machine and KSH. Thanks for help in advance! (5 Replies)
Discussion started by: Sriranga
5 Replies

4. Homework & Coursework Questions

copy files inside a text file

Hi Guys , I am new to this and Hi to all ,Need your help I am trying to copy Files which are inside file.txt The files inside file.txt are inthe below order file1.log file2.log file3.log ....... I want to copy these files to an output Directory , Please help (1 Reply)
Discussion started by: hc17972
1 Replies

5. Homework & Coursework Questions

copy files inside a text file

Hi Guys , I am new to this and Hi to all ,Need your help I am trying to copy Files which are inside file.txt The files inside file.txt are inthe below order file1.log file2.log file3.log ....... I want to copy these files to an output Directory , Please help (1 Reply)
Discussion started by: hc17972
1 Replies

6. Shell Programming and Scripting

Copy files listed in text file to new directory

I am trying to write a script that will copy all file listed in a text file (100s of file names) to a new directory Assume script will run with main as current working directory and I know how many files/lines will be in List.txt Im trying to work up a test script using this model Contents of... (2 Replies)
Discussion started by: IAmTheGrass
2 Replies

7. Shell Programming and Scripting

How to grep a log file for words listed in separate text file?

Hello, I want to grep a log ("server.log") for words in a separate file ("white-list.txt") and generate a separate log file containing each line that uses a word from the "white-list.txt" file. Putting that in bullet points: Search through "server.log" for lines that contain any word... (15 Replies)
Discussion started by: nbsparks
15 Replies

8. Shell Programming and Scripting

Delete files listed in text file

Hi Team, Here's the scenario, I have a text file called "file_list.txt". Its content is as follows. 111.tmp 112.tmp 113.tmp 114.tmp These files will present in "workdir" directory. It has many files. But only the files present in file_list.txt has to be deleted from the workdir... (7 Replies)
Discussion started by: kmanivan82
7 Replies

9. Shell Programming and Scripting

Cat files listed in text file and redirect to new directory with same filename

I have a directory that is restricted and I cannot just copy the files need, but I can cat them and redirect them to a new directory. The files all have the date listed in them. If I perform a long listing and grep for the date (150620) I can redirect that output to a text file. Now I need to... (5 Replies)
Discussion started by: trigger467
5 Replies

10. Shell Programming and Scripting

Want to delete the junk files from a directory which are not listed in a TEXT file

Hello Everyone, I want to delete the image files from a directory, which are not listed in a TEXT file. The directory contains large number of image files (in millions) required / not required. I want to delete the image files which are "not required". I have generated a Text file having... (3 Replies)
Discussion started by: Praveen Pandit
3 Replies
cp(1)							      General Commands Manual							     cp(1)

NAME
cp - Copies files SYNOPSIS
cp [-fhip] [--] source_file destination_file cp [-fhip] [--] source_file... destination_directory cp [-fhip] [-r | -R] [--] [source_file | source_directory]... destination_directory The cp command copies a source file or the files in a source directory to a destination file or directory. If your source and destination are directories, the source is copied to the destination and created with the same name. STANDARDS
Interfaces documented on this reference page conform to industry standards as follows: cp: XCU5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags. OPTIONS
[Tru64 UNIX] The cp command does not prompt you when an existing file is to be overwritten. (If both -f and -i are specified on the com- mand line--for example, because an alias includes one of them--whichever appears last overrides the other.) [Tru64 UNIX] Together with the -R option, the same as the -r option. Prompts you with the name of the file whenever the copy would cause an existing file to be over- written. An answer beginning with y, or the locale's equivalent of y, causes cp to continue. Any other answer prevents it from overwriting the file. Preserves for the copy the modification time, access time, file mode, user ID, and group ID of the original, as allowed by per- missions. If the user ID and group ID cannot be preserved, no error message is displayed and the exit value is not altered. If the origi- nal is set-user-ID or set-group-ID, and either the user ID or the group ID cannot be preserved, the set-user-ID and set-group-ID bits are not preserved in the copy's permissions. [Tru64 UNIX] Preserves the extended file attributes (property list), including the access control list (ACL) if any. When the source is a directory, copies the directory and the entire subtree connected at that point. Special file types, such as symbolic links, named pipes (FIFOs), and block and character devices, are opened and their contents are copied to regular files having the same name. (This may be desired for links but is probably not desired for disk, tape, or network devices.) For example, if a is a symbolic link to file z and a is copied to b with the -r option, b is not a symbolic link to file z but is a copy of it. As with -r, when the source is a directory, copies the directory and the entire subtree connected at that point. However, destination_files are created with the same file types as source_files, for instance symbolic links, named pipes (FIFOs), or block or character devices. As an example, if a is a symbolic link to file z and a is copied to b with the -R option, b will also be a symbolic link to file z. If source_file is a FIFO, the file permission bits of destination_file are set to those of source_file modified by the file creation mask of the user if the -p option is not used. Indicates that the arguments following this option are to be interpreted as file names. This null option allows the specification of file names that start with a minus. DESCRIPTION
If a destination file already exists, its contents are overwritten if permissions allow, but cp does not change its mode, user ID, or group ID. However, if the file is not being copied by the root user, writing the file may clear the set-user-ID or set-group-ID permission bits. If the destination file does not exist, the mode of the source file is used, as modified by the file mode creation mask (umask). If the source file is either set-user-ID or set-group-ID, those bits are removed unless the -p option is used. Appropriate permissions are always required for file creation or overwriting. [Tru64 UNIX] You can also copy special device files. If the file is a named pipe, the data in the pipe is copied into a regular file. If the file is a device, the file is read until the end of file, and that data is copied into a regular file. The LC_MESSAGES variable determines the locale's equivalent of y or n (for yes/no queries). If the source_file is a directory, the following is true: If neither the -R or -r option was specified, an error message is displayed and source_file is not copied. If the target specified exists and is a file, not a directory, an error message is displayed and source_file is not copied. If the target does not exist and the -p option is specified, the permission bits of the target directory are set equal to the source directory bitwise inclusively ORed with S_IRWXU (0700 octal). This means the newly created directory will always allow the owner read, write and execute permission. If the target does not exist and the -p option is not specified, the permission bits of the target directory are set equal to the source directory bits, modified by the file creation mask of the user (shuts off the corresponding permis- sion bits specified in the umask). The resulting permission bits are then ORed with S_IRWXU (0700 octal) which gives the owner read, write and execute permission. If the target does not exist and cannot be created, an error message is displayed and source_file is not copied. NOTES
Do not give the destination the same name as one of the source files. If you specify a directory as the destination, the directory must already exist. If you are using the -r option to copy the contents of one directory to another, and source_directory contains subdirecto- ries that do not exist in destination_directory, the subdirectories are created. EXIT STATUS
The following exit values are returned: Successful completion. An error occurred. EXAMPLES
To copy one file to another, enter: cp file1 file2 If file2 exists (and is writable), it is replaced by file1. To copy files to a directory, enter: cp file1 file2 dir1 The dir1 directory must exist. To copy all files in a directory and preserve their modification times, enter: cp -p dir1/* dir2 To copy a directory tree to another directory, enter: cp -r dir1 dir2 The dir1 tree is created in dir2. ENVIRONMENT VARIABLES
The following environment variables affect the execution of cp: Provides a default value for the internationalization variables that are unset or null. If LANG is unset or null, the corresponding value from the default locale is used. If any of the internationalization vari- ables contain an invalid setting, the utility behaves as if none of the variables had been defined. If set to a non-empty string value, overrides the values of all the other internationalization variables. Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). Determines the locale for the for- mat and contents of diagnostic messages written to standard error. Determines the location of message catalogues for the processing of LC_MESSAGES. SEE ALSO
Commands: cpio(1), find(1), link(1), ln(1), mv(1), pax(1), tar(1), umask(1) Functions: umask(2) Files: proplist(4), acl(4) Standards: standards(5) cp(1)
All times are GMT -4. The time now is 10:52 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy