[K12OSN] OT: bash help - copying a series of files

Peter Scheie peter at scheie.homedns.org
Fri Dec 12 14:37:08 UTC 2008



Rob Owens wrote:
> Nils Breunese wrote:
>> Rob Owens wrote:
>>
>>> j.w. thomas wrote:
>>>> Rob Owens wrote:
>>>>> I've read this somewhere before, but I'm having trouble finding it on
>>>>> google...
>>>>>
>>>>> I need to copy a series of files without using a loop.  I think the
>>>>> syntax is something like:  cp /path/to/[file1 file2]
>>>>> /destination/folder
>>>>>
>>>>> But that doesn't work.  Does anybody know the correct syntax?  Google
>>>>> isn't so good at searching special characters like [ and {
>>>> I do this:
>>>> cp /path/to/file1 /path/to/file2 /destination/folder
>>>>
>>>> If the names are as similar as you wrote though, you should be able to
>>>> do this:
>>>>
>>>> cp /path/to/file[12] /destination/folder
>>>>
>>> The names really aren't that similar.  Here's the actual paths that I
>>> need to copy:
>>>
>>> /usr/local/share/icons/Drawings.desktop
>>> /usr/local/share/icons/Obsolete\ Drawings.desktop
>>> /usr/local/share/icons/Obsolete\ a\ Drawing.desktop
>>>
>>> Since it's only 3 files, I could do as Robert suggests:
>>>
>>>> cp  /path/file1  /path/file2  /path/file3  /dest/dir
>>> But I was hoping to find a way with less typing, just in case someday I
>>> have to do this with 10 files instead of 3.
>> You could first change the current working directory, so you don't need
>> to supply the path to every file.
>>
>>     cd /usr/local/share/icons
>>     cp Drawings.desktop Obsolete\ Drawings.desktop Obsolete\ a\
>> Drawing.desktop /dest/dir
>>
> That would work, but how do I error check?  I'd like some verification
> that the cd worked before cp'ing (because what if I was rm'ing instead?)
> 
cd /usr/local/share/icons && cp Drawings.desktop Obsolete\ Drawings.desktop 
Obsolete\ a\

The above is all one line but tbird wrapped it.  With the && in there, the 
second part will run only if the first part, the cd, succeeds.

Peter




More information about the K12OSN mailing list