zxcv писал(а):
Почему не получается заменить команду "touch" на "cp" или "cat" и таким же образом скопировать уже
имеющийся файл три раза?
Потому, что у touch - 1 параметр, и вы вместо него подставляете регулярное выражение.
А у cp - 2 параметра, и у cat вам понадобится 2 параметра - перенаправление потока вывода.
И вы считаете, что каждое имя, производящееся из регулярного выражения для 1-го параметра - должно взаимно однозначно соответствовать (как-то расширять) имя 2-го параметра.
А bash так не считает
... и правильно, в общем, делает.
Смотрим:
Код: Выделить всё
olej@nvidia ~/2015_WORK/tmp $ cat f* > g*
olej@nvidia ~/2015_WORK/tmp $ ls -l
итого 20
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f1
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f2
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f3
-rw-r--r-- 1 olej olej 4 дек. 3 23:11 f4
-rw-r--r-- 1 olej olej 16 дек. 3 23:14 g*
Для cat это команда
последовательно обработать все файлы 1-го параметра ... он их и обработал.