Copy files listed in a text file - whitespace problem.


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Copy files listed in a text file - whitespace problem.
# 1  
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.
# 2  
Old 10-20-2008
Code:
$ cat copy.out
dir1/file1
dir1/file2
dir1/file3
dir1/white space
dir1/file4
$ while read file;do echo cp "$file" ./Newdir;done <copy.out
cp dir1/file1 ./Newdir
cp dir1/file2 ./Newdir
cp dir1/file3 ./Newdir
cp dir1/white space ./Newdir
cp dir1/file4 ./Newdir

# 3  
Old 10-20-2008
Code:
$ (IFS=$'\n"';cp -v $(<copy.out) dir2)
`dir1/file1' -> `dir2/file1'
`dir1/file2' -> `dir2/file2'
`dir1/file3' -> `dir2/file3'
`dir1/white space' -> `dir2/white space'
`dir1/file4' -> `dir2/file4'

# 4  
Old 10-20-2008

Remove the quotes from the name in copy.out, and change IFS to a newline:

Code:
IFS='
'
cp $( cat copy.out ) ./temp

# 5  
Old 10-20-2008
danmero, radoulov, cfajohnson:

All solutions worked Smilie

Thank you so much!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question