I have to copy a set of files from one folder to another folder and I'm using the following command:
cp -rf `head -n 100 /home/tmp/abc.txt` /home/tmp/test/files
the file contents in abc.txt
is like:
./folder1/example.tar.gz
./folder2/example.tar.gz
./folder3/example.tar.gz
But while executing the above cp
command I'm getting:
cp: will not overwrite just-created `/home/tmp/test/files/example.tar.gz' with `./folder3 /example.tar.gz'
cp: will not overwrite just-created `/home/tmp/test/files/example.tar.gz' with `./folder1/example.tar.gz'
I can understand that because the name of the .gz files are the same that are showing in the error. What I want to do is to have the same folder structure inside /home/tmp/test/files
as listed in abc.txt
, like:
/home/tmp/test/files/folder1/example.tar.gz
/home/tmp/test/files/folder2/example.tar.gz
/home/tmp/test/files/folder3/example.tar.gz
But I'm getting only one example.tar.gz
inside files folder after executing the above cp
command.
So what is the way to get what I mentioned above?