I'm trying to copy the "file.txt" file into all the directories.
[root@mycomputer]# ls -lh
total 132K
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:47 ilo01
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo02
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo03
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo04
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo05
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo06
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo07
drwxr--r--. 2 postgres postgres 4.0K Jan 2 08:40 ilo08
drwxr--r--. 2 postgres postgres 4.0K Jan 2 10:03 ilo09
drwxr--r--. 11 postgres postgres 4.0K Jan 2 11:15 ilo10
-rw-r--r--. 1 postgres postgres 64K Jun 27 2016 file.txt
Using TAB to see the behaviour of the command to run:
[root@mycomputer]# cp -p file.txt ilo[0-1][0-9]
ilo01/ ilo02/ ilo03/ ilo04/ ilo05/ ilo06/ ilo07/ ilo08/ ilo09/ ilo10/
But I get this error:
[root@mycomputer]# cp -v -p file.txt ilo[0-1][0-9]*
`postgresTdas.txt' -> `ilo10/file.txt'
cp: omitting directory `ilo01'
cp: omitting directory `ilo02'
cp: omitting directory `ilo03'
cp: omitting directory `ilo04'
cp: omitting directory `ilo05'
cp: omitting directory `ilo06'
cp: omitting directory `ilo07'
cp: omitting directory `ilo08'
cp: omitting directory `ilo09'
Same thing happens with:
[root@mycomputer]# cp -p file.txt ilo*
and
[root@mycomputer]# cp -p file.txt ilo*/
I don't understand why "[0-1][0-9] doen't work the way I need.
I'm assuming that the copy is going to put the file.txt in the list that the TAB shows.
What am I missing?
Most implementations of the
cp
command are not able to copy to multiple targets. Nothing you can do about that. You need to work around that limitation callingcp
multiple times. Easiest probably is something like that: